File size: 18,686 Bytes
914d155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch, torchvision\n",
    "from torch import nn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Mnet(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(Mnet, self).__init__()\n",
    "        self.linear1 = nn.Linear(28 * 28, 400)\n",
    "        self.linear2 = nn.Linear(400, 200)\n",
    "        self.linear3 = nn.Linear(200, 100)\n",
    "        self.linear4 = nn.Linear(100, 50)\n",
    "        self.linear5 = nn.Linear(50, 25)\n",
    "        self.final_linear = nn.Linear(25, 10)\n",
    "\n",
    "        self.relu = nn.ReLU()\n",
    "\n",
    "    def forward(self, images):\n",
    "        x = images.view(-1, 28 * 28)\n",
    "        x = self.relu(self.linear1(x))\n",
    "        x = self.relu(self.linear2(x))\n",
    "        x = self.relu(self.linear3(x))\n",
    "        x = self.relu(self.linear4(x))\n",
    "        x = self.relu(self.linear5(x))\n",
    "        x = self.final_linear(x)\n",
    "        return x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = torch.load(\"mnistmodel.pt\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "T = torchvision.transforms.Compose([torchvision.transforms.ToTensor()])\n",
    "test_data = torchvision.datasets.MNIST(\"mnist_data\", train=False, transform=T, download=True)\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "#image, label = test_data[9016]\n",
    "#print(label)\n",
    "#plt.imshow(image[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wrong answer 149\n",
      "wrong answer 151\n",
      "wrong answer 247\n",
      "wrong answer 259\n",
      "wrong answer 268\n",
      "wrong answer 340\n",
      "wrong answer 445\n",
      "wrong answer 495\n",
      "wrong answer 582\n",
      "wrong answer 684\n",
      "wrong answer 720\n",
      "wrong answer 844\n",
      "wrong answer 938\n",
      "wrong answer 947\n",
      "wrong answer 1014\n",
      "wrong answer 1039\n",
      "wrong answer 1200\n",
      "wrong answer 1226\n",
      "wrong answer 1232\n",
      "wrong answer 1242\n",
      "wrong answer 1247\n",
      "wrong answer 1260\n",
      "wrong answer 1289\n",
      "wrong answer 1319\n",
      "wrong answer 1328\n",
      "wrong answer 1393\n",
      "wrong answer 1414\n",
      "wrong answer 1425\n",
      "wrong answer 1530\n",
      "wrong answer 1553\n",
      "wrong answer 1569\n",
      "wrong answer 1681\n",
      "wrong answer 1717\n",
      "wrong answer 1751\n",
      "wrong answer 1754\n",
      "wrong answer 1790\n",
      "wrong answer 1800\n",
      "wrong answer 1850\n",
      "wrong answer 1878\n",
      "wrong answer 1880\n",
      "wrong answer 1901\n",
      "wrong answer 1952\n",
      "wrong answer 2024\n",
      "wrong answer 2109\n",
      "wrong answer 2118\n",
      "wrong answer 2130\n",
      "wrong answer 2135\n",
      "wrong answer 2224\n",
      "wrong answer 2293\n",
      "wrong answer 2369\n",
      "wrong answer 2387\n",
      "wrong answer 2406\n",
      "wrong answer 2414\n",
      "wrong answer 2422\n",
      "wrong answer 2488\n",
      "wrong answer 2582\n",
      "wrong answer 2597\n",
      "wrong answer 2648\n",
      "wrong answer 2654\n",
      "wrong answer 2720\n",
      "wrong answer 2863\n",
      "wrong answer 2877\n",
      "wrong answer 2896\n",
      "wrong answer 2921\n",
      "wrong answer 2927\n",
      "wrong answer 2939\n",
      "wrong answer 2953\n",
      "wrong answer 2979\n",
      "wrong answer 3060\n",
      "wrong answer 3073\n",
      "wrong answer 3117\n",
      "wrong answer 3263\n",
      "wrong answer 3284\n",
      "wrong answer 3394\n",
      "wrong answer 3422\n",
      "wrong answer 3475\n",
      "wrong answer 3503\n",
      "wrong answer 3520\n",
      "wrong answer 3558\n",
      "wrong answer 3565\n",
      "wrong answer 3567\n",
      "wrong answer 3597\n",
      "wrong answer 3727\n",
      "wrong answer 3767\n",
      "wrong answer 3776\n",
      "wrong answer 3796\n",
      "wrong answer 3808\n",
      "wrong answer 3811\n",
      "wrong answer 3817\n",
      "wrong answer 3818\n",
      "wrong answer 3869\n",
      "wrong answer 3893\n",
      "wrong answer 3906\n",
      "wrong answer 3941\n",
      "wrong answer 3943\n",
      "wrong answer 3970\n",
      "wrong answer 3985\n",
      "wrong answer 4000\n",
      "wrong answer 4065\n",
      "wrong answer 4075\n",
      "wrong answer 4140\n",
      "wrong answer 4163\n",
      "wrong answer 4176\n",
      "wrong answer 4199\n",
      "wrong answer 4224\n",
      "wrong answer 4248\n",
      "wrong answer 4289\n",
      "wrong answer 4350\n",
      "wrong answer 4369\n",
      "wrong answer 4437\n",
      "wrong answer 4497\n",
      "wrong answer 4504\n",
      "wrong answer 4536\n",
      "wrong answer 4547\n",
      "wrong answer 4571\n",
      "wrong answer 4601\n",
      "wrong answer 4731\n",
      "wrong answer 4740\n",
      "wrong answer 4761\n",
      "wrong answer 4807\n",
      "wrong answer 4823\n",
      "wrong answer 4833\n",
      "wrong answer 4956\n",
      "wrong answer 4966\n",
      "wrong answer 5078\n",
      "wrong answer 5265\n",
      "wrong answer 5331\n",
      "wrong answer 5457\n",
      "wrong answer 5586\n",
      "wrong answer 5676\n",
      "wrong answer 5734\n",
      "wrong answer 5749\n",
      "wrong answer 5887\n",
      "wrong answer 5888\n",
      "wrong answer 5955\n",
      "wrong answer 5973\n",
      "wrong answer 6011\n",
      "wrong answer 6059\n",
      "wrong answer 6555\n",
      "wrong answer 6571\n",
      "wrong answer 6597\n",
      "wrong answer 6603\n",
      "wrong answer 6625\n",
      "wrong answer 6641\n",
      "wrong answer 6651\n",
      "wrong answer 6755\n",
      "wrong answer 6783\n",
      "wrong answer 6847\n",
      "wrong answer 7434\n",
      "wrong answer 7921\n",
      "wrong answer 8094\n",
      "wrong answer 8246\n",
      "wrong answer 8311\n",
      "wrong answer 8382\n",
      "wrong answer 8408\n",
      "wrong answer 8456\n",
      "wrong answer 8522\n",
      "wrong answer 8527\n",
      "wrong answer 9009\n",
      "wrong answer 9015\n",
      "wrong answer 9024\n",
      "wrong answer 9280\n",
      "wrong answer 9587\n",
      "wrong answer 9634\n",
      "wrong answer 9664\n",
      "wrong answer 9669\n",
      "wrong answer 9679\n",
      "wrong answer 9729\n",
      "wrong answer 9745\n",
      "wrong answer 9749\n",
      "wrong answer 9768\n",
      "wrong answer 9770\n",
      "wrong answer 9792\n",
      "wrong answer 9808\n",
      "wrong answer 9858\n",
      "9825 10000\n"
     ]
    }
   ],
   "source": [
    "#정답률\n",
    "\n",
    "total_test = len(test_data)\n",
    "correct_answer = 0\n",
    "\n",
    "for i, (image, label) in enumerate(test_data):\n",
    "    output = model(image)\n",
    "    s = nn.Softmax(dim=1)\n",
    "    output = s(output)\n",
    "    a = torch.argmax(output)\n",
    "    if label == a.item():\n",
    "        correct_answer+=1\n",
    "    else:\n",
    "        print('wrong answer', i)\n",
    "\n",
    "print(correct_answer, total_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "computer's guess: 3, answer: 3\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#틀린 1문제\n",
    "\n",
    "def testexam(i: int):\n",
    "    image, label = test_data[i]\n",
    "    output = model(image)\n",
    "    s = nn.Softmax(dim=1)\n",
    "    output = s(output)\n",
    "    a = torch.argmax(output)\n",
    "    print(f\"computer's guess: {a.item()}, answer: {label}\")\n",
    "    plt.imshow(image[0])\n",
    "\n",
    "\n",
    "testexam(9975)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}