meraj12 commited on
Commit
7134b38
·
verified ·
1 Parent(s): 1cfb407

Upload training_notebook.ipynb

Browse files
Files changed (1) hide show
  1. training_notebook.ipynb +102 -0
training_notebook.ipynb ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ {
3
+ "cells": [
4
+ {
5
+ "cell_type": "markdown",
6
+ "metadata": {},
7
+ "source": [
8
+ "# PKR Currency Classifier Training Notebook"
9
+ ]
10
+ },
11
+ {
12
+ "cell_type": "code",
13
+ "execution_count": null,
14
+ "metadata": {},
15
+ "outputs": [],
16
+ "source": [
17
+ "import torch\n",
18
+ "import torch.nn as nn\n",
19
+ "import torchvision.transforms as transforms\n",
20
+ "from torchvision import models, datasets\n",
21
+ "from torch.utils.data import DataLoader\n",
22
+ "import os"
23
+ ]
24
+ },
25
+ {
26
+ "cell_type": "code",
27
+ "execution_count": null,
28
+ "metadata": {},
29
+ "outputs": [],
30
+ "source": [
31
+ "# Load dataset\n",
32
+ "transform = transforms.Compose([\n",
33
+ " transforms.Resize((224, 224)),\n",
34
+ " transforms.ToTensor(),\n",
35
+ " transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])\n",
36
+ "])\n",
37
+ "\n",
38
+ "train_data = datasets.ImageFolder('currency_dataset', transform=transform)\n",
39
+ "train_loader = DataLoader(train_data, batch_size=16, shuffle=True)"
40
+ ]
41
+ },
42
+ {
43
+ "cell_type": "code",
44
+ "execution_count": null,
45
+ "metadata": {},
46
+ "outputs": [],
47
+ "source": [
48
+ "# Model\n",
49
+ "weights = models.MobileNet_V2_Weights.DEFAULT\n",
50
+ "model = models.mobilenet_v2(weights=weights)\n",
51
+ "model.classifier[1] = nn.Linear(model.last_channel, 2)\n",
52
+ "criterion = nn.CrossEntropyLoss()\n",
53
+ "optimizer = torch.optim.Adam(model.parameters(), lr=0.001)"
54
+ ]
55
+ },
56
+ {
57
+ "cell_type": "code",
58
+ "execution_count": null,
59
+ "metadata": {},
60
+ "outputs": [],
61
+ "source": [
62
+ "# Train\n",
63
+ "model.train()\n",
64
+ "for epoch in range(5):\n",
65
+ " for images, labels in train_loader:\n",
66
+ " optimizer.zero_grad()\n",
67
+ " outputs = model(images)\n",
68
+ " loss = criterion(outputs, labels)\n",
69
+ " loss.backward()\n",
70
+ " optimizer.step()\n",
71
+ " print(f'Epoch {epoch+1}, Loss: {loss.item()}')"
72
+ ]
73
+ },
74
+ {
75
+ "cell_type": "code",
76
+ "execution_count": null,
77
+ "metadata": {},
78
+ "outputs": [],
79
+ "source": [
80
+ "# Save\n",
81
+ "torch.save(model, 'pkr_currency_classifier.pt')"
82
+ ]
83
+ }
84
+ ],
85
+ "metadata": {
86
+ "colab": {
87
+ "name": "training_notebook.ipynb",
88
+ "provenance": []
89
+ },
90
+ "kernelspec": {
91
+ "display_name": "Python 3",
92
+ "language": "python",
93
+ "name": "python3"
94
+ },
95
+ "language_info": {
96
+ "name": "python",
97
+ "version": ""
98
+ }
99
+ },
100
+ "nbformat": 4,
101
+ "nbformat_minor": 0
102
+ }