etweedy commited on
Commit
a785b32
·
1 Parent(s): 688bf34

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +26 -92
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
- CNN(
26
- (conv1): Sequential(
27
- (0): Conv2d(1, 16, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
28
- (1): ReLU()
29
- (2): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
30
- )
31
- (conv2): Sequential(
32
- (0): Conv2d(16, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
33
- (1): ReLU()
34
- (2): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
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. Training was done for 5 epochs, using batch size of 64, and with a learning rate of 0.001. The loss and training accuracy record was as follows:
40
-
41
- Epoch 1
42
- -------------------------------
43
- loss: 2.308622 [ 0/60000]
44
- loss: 0.263496 [ 6400/60000]
45
- loss: 0.153133 [12800/60000]
46
- loss: 0.174262 [19200/60000]
47
- loss: 0.065622 [25600/60000]
48
- loss: 0.139496 [32000/60000]
49
- loss: 0.064824 [38400/60000]
50
- loss: 0.040185 [44800/60000]
51
- loss: 0.147770 [51200/60000]
52
- loss: 0.132756 [57600/60000]
53
- Test Error:
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