Update README.md
Browse files
README.md
CHANGED
@@ -22,97 +22,31 @@ This gradio app predicts digits using a convolutive neural network (CNN) that wa
|
|
22 |
}
|
23 |
|
24 |
The PyTorch network architecture:
|
25 |
-
|
26 |
-
(conv1):
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
)
|
31 |
-
(
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
)
|
36 |
-
(out): Linear(in_features=1568, out_features=10, bias=True)
|
37 |
)
|
38 |
|
39 |
-
The model was trained using cross entropy loss function, the Adam stochastic optimizer.
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
Accuracy: 97.8%, Avg loss: 0.068824
|
55 |
-
|
56 |
-
Epoch 2
|
57 |
-
-------------------------------
|
58 |
-
loss: 0.081690 [ 0/60000]
|
59 |
-
loss: 0.140447 [ 6400/60000]
|
60 |
-
loss: 0.024672 [12800/60000]
|
61 |
-
loss: 0.021052 [19200/60000]
|
62 |
-
loss: 0.093074 [25600/60000]
|
63 |
-
loss: 0.057293 [32000/60000]
|
64 |
-
loss: 0.059690 [38400/60000]
|
65 |
-
loss: 0.041043 [44800/60000]
|
66 |
-
loss: 0.008444 [51200/60000]
|
67 |
-
loss: 0.023947 [57600/60000]
|
68 |
-
Test Error:
|
69 |
-
Accuracy: 98.8%, Avg loss: 0.037573
|
70 |
-
|
71 |
-
Epoch 3
|
72 |
-
-------------------------------
|
73 |
-
loss: 0.026763 [ 0/60000]
|
74 |
-
loss: 0.008322 [ 6400/60000]
|
75 |
-
loss: 0.004648 [12800/60000]
|
76 |
-
loss: 0.022180 [19200/60000]
|
77 |
-
loss: 0.026884 [25600/60000]
|
78 |
-
loss: 0.127719 [32000/60000]
|
79 |
-
loss: 0.029921 [38400/60000]
|
80 |
-
loss: 0.018033 [44800/60000]
|
81 |
-
loss: 0.020504 [51200/60000]
|
82 |
-
loss: 0.015732 [57600/60000]
|
83 |
-
Test Error:
|
84 |
-
Accuracy: 98.5%, Avg loss: 0.044061
|
85 |
-
|
86 |
-
Epoch 4
|
87 |
-
-------------------------------
|
88 |
-
loss: 0.001018 [ 0/60000]
|
89 |
-
loss: 0.047208 [ 6400/60000]
|
90 |
-
loss: 0.015693 [12800/60000]
|
91 |
-
loss: 0.025309 [19200/60000]
|
92 |
-
loss: 0.008418 [25600/60000]
|
93 |
-
loss: 0.047959 [32000/60000]
|
94 |
-
loss: 0.003479 [38400/60000]
|
95 |
-
loss: 0.049097 [44800/60000]
|
96 |
-
loss: 0.009243 [51200/60000]
|
97 |
-
loss: 0.033639 [57600/60000]
|
98 |
-
Test Error:
|
99 |
-
Accuracy: 98.8%, Avg loss: 0.036810
|
100 |
-
|
101 |
-
Epoch 5
|
102 |
-
-------------------------------
|
103 |
-
loss: 0.002880 [ 0/60000]
|
104 |
-
loss: 0.011252 [ 6400/60000]
|
105 |
-
loss: 0.102632 [12800/60000]
|
106 |
-
loss: 0.045496 [19200/60000]
|
107 |
-
loss: 0.007643 [25600/60000]
|
108 |
-
loss: 0.003103 [32000/60000]
|
109 |
-
loss: 0.093026 [38400/60000]
|
110 |
-
loss: 0.022969 [44800/60000]
|
111 |
-
loss: 0.027332 [51200/60000]
|
112 |
-
loss: 0.005514 [57600/60000]
|
113 |
-
Test Error:
|
114 |
-
Accuracy: 99.0%, Avg loss: 0.027122
|
115 |
-
|
116 |
-
Done!
|
117 |
-
|
118 |
-
|
|
|
22 |
}
|
23 |
|
24 |
The PyTorch network architecture:
|
25 |
+
Sequential(
|
26 |
+
(conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
|
27 |
+
(relu1): ReLU()
|
28 |
+
(pool1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
|
29 |
+
(conv2): Conv2d(32, 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
|
30 |
+
(relu2): ReLU()
|
31 |
+
(pool2): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
|
32 |
+
(flatten): Flatten(start_dim=1, end_dim=-1)
|
33 |
+
(fc1): Linear(in_features=3136, out_features=1024, bias=True)
|
34 |
+
(dropout): Dropout(p=0.5, inplace=False)
|
35 |
+
(fc2): Linear(in_features=1024, out_features=10, bias=True)
|
|
|
36 |
)
|
37 |
|
38 |
+
The model was trained using cross entropy loss function, the Adam stochastic optimizer.
|
39 |
+
Training was done for 10 epochs, using batch size of 64, and with a learning rate of 0.001.
|
40 |
+
|
41 |
+
The training and validation accuracy after each epoch was as follows:
|
42 |
+
|
43 |
+
Epoch 1 ---- train accuracy: 0.9607 ---- val accuracy: 0.9885
|
44 |
+
Epoch 2 ---- train accuracy: 0.9870 ---- val accuracy: 0.9894
|
45 |
+
Epoch 3 ---- train accuracy: 0.9893 ---- val accuracy: 0.9892
|
46 |
+
Epoch 4 ---- train accuracy: 0.9925 ---- val accuracy: 0.9914
|
47 |
+
Epoch 5 ---- train accuracy: 0.9932 ---- val accuracy: 0.9872
|
48 |
+
Epoch 6 ---- train accuracy: 0.9947 ---- val accuracy: 0.9904
|
49 |
+
Epoch 7 ---- train accuracy: 0.9946 ---- val accuracy: 0.9888
|
50 |
+
Epoch 8 ---- train accuracy: 0.9947 ---- val accuracy: 0.9920
|
51 |
+
Epoch 9 ---- train accuracy: 0.9962 ---- val accuracy: 0.9912
|
52 |
+
Epoch 10 ---- train accuracy: 0.9960 ---- val accuracy: 0.9915
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|