ParimalX commited on
Commit
f623e5f
·
1 Parent(s): 541cd02
images/3.png ADDED
images/RdEpj.png ADDED
images/iRHZI.png ADDED
images/images.png ADDED
images/imagkes.jpeg ADDED
images/sample.webp ADDED
images/ssss.jpeg ADDED
parimal.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import numpy as np
3
+ from PIL import Image
4
+ import cv2
5
+ import tensorflow as tf
6
+
7
+
8
+
9
+
10
+ st.title("Hello Parimal")
11
+
12
+ def data_preprocessing(img):
13
+ img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
14
+ img = np.resize(img, [1, 28, 28])
15
+ img = img/255
16
+ return img
17
+
18
+ image = st.file_uploader("Upload files", type=["jpeg", "png", "jpg", "webp"])
19
+ model = tf.keras.models.load_model("mnist.h5")
20
+
21
+ if image is not None:
22
+ img = Image.open(image)
23
+ img = np.array(img)
24
+ st.image(img, caption="Uploaded Image", use_column_width=True)
25
+ images = data_preprocessing(img)
26
+ predictions = model.predict(images)
27
+ predictions = np.argmax(predictions)
28
+ st.write(f"The Predicted Value: {predictions}")
29
+
30
+
31
+
32
+
33
+
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ opencv-python
2
+ streamlit
3
+ numpy
4
+ tensorflow
5
+ PIL
today.ipynb ADDED
@@ -0,0 +1,398 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {},
7
+ "outputs": [
8
+ {
9
+ "name": "stdout",
10
+ "output_type": "stream",
11
+ "text": [
12
+ "hello parimal\n"
13
+ ]
14
+ }
15
+ ],
16
+ "source": [
17
+ "print(\"hello parimal\")"
18
+ ]
19
+ },
20
+ {
21
+ "cell_type": "markdown",
22
+ "metadata": {},
23
+ "source": [
24
+ "# Import the necessary libraries"
25
+ ]
26
+ },
27
+ {
28
+ "cell_type": "code",
29
+ "execution_count": 2,
30
+ "metadata": {},
31
+ "outputs": [],
32
+ "source": [
33
+ "import numpy as np\n",
34
+ "import cv2\n",
35
+ "import tensorflow as tf\n",
36
+ "from tensorflow.keras.datasets import mnist\n",
37
+ "import matplotlib.pyplot as plt\n",
38
+ "import matplotlib.image as mpimg"
39
+ ]
40
+ },
41
+ {
42
+ "cell_type": "markdown",
43
+ "metadata": {},
44
+ "source": [
45
+ "# Load the data"
46
+ ]
47
+ },
48
+ {
49
+ "cell_type": "code",
50
+ "execution_count": 3,
51
+ "metadata": {},
52
+ "outputs": [],
53
+ "source": [
54
+ "(xtrain, ytrain), (xtest, ytest) = mnist.load_data()"
55
+ ]
56
+ },
57
+ {
58
+ "cell_type": "code",
59
+ "execution_count": 4,
60
+ "metadata": {},
61
+ "outputs": [
62
+ {
63
+ "name": "stdout",
64
+ "output_type": "stream",
65
+ "text": [
66
+ "(60000, 28, 28) (60000,) (10000, 28, 28) (10000,)\n"
67
+ ]
68
+ }
69
+ ],
70
+ "source": [
71
+ "print(xtrain.shape, ytrain.shape, xtest.shape, ytest.shape)"
72
+ ]
73
+ },
74
+ {
75
+ "cell_type": "markdown",
76
+ "metadata": {},
77
+ "source": [
78
+ "# Data Preprocessing"
79
+ ]
80
+ },
81
+ {
82
+ "cell_type": "code",
83
+ "execution_count": 5,
84
+ "metadata": {},
85
+ "outputs": [],
86
+ "source": [
87
+ "xtrain = xtrain/255\n",
88
+ "xtest = xtest/255"
89
+ ]
90
+ },
91
+ {
92
+ "cell_type": "markdown",
93
+ "metadata": {},
94
+ "source": [
95
+ "# Setting up the model"
96
+ ]
97
+ },
98
+ {
99
+ "cell_type": "code",
100
+ "execution_count": 6,
101
+ "metadata": {},
102
+ "outputs": [
103
+ {
104
+ "name": "stderr",
105
+ "output_type": "stream",
106
+ "text": [
107
+ "/home/parimal/.local/lib/python3.9/site-packages/keras/src/layers/reshaping/flatten.py:37: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
108
+ " super().__init__(**kwargs)\n"
109
+ ]
110
+ }
111
+ ],
112
+ "source": [
113
+ "model = tf.keras.Sequential([\n",
114
+ " tf.keras.layers.Flatten(input_shape=(28, 28),),\n",
115
+ " tf.keras.layers.Dense(50, activation='relu'),\n",
116
+ " tf.keras.layers.Dense(50, activation='relu'),\n",
117
+ " tf.keras.layers.Dense(10, activation='sigmoid')\n",
118
+ "])\n"
119
+ ]
120
+ },
121
+ {
122
+ "cell_type": "code",
123
+ "execution_count": 7,
124
+ "metadata": {},
125
+ "outputs": [],
126
+ "source": [
127
+ "model.compile(\n",
128
+ " optimizer='adam',\n",
129
+ " loss='sparse_categorical_crossentropy',\n",
130
+ " metrics = ['accuracy']\n",
131
+ ")"
132
+ ]
133
+ },
134
+ {
135
+ "cell_type": "markdown",
136
+ "metadata": {},
137
+ "source": [
138
+ "# Training the model"
139
+ ]
140
+ },
141
+ {
142
+ "cell_type": "code",
143
+ "execution_count": 8,
144
+ "metadata": {},
145
+ "outputs": [
146
+ {
147
+ "name": "stdout",
148
+ "output_type": "stream",
149
+ "text": [
150
+ "Epoch 1/10\n",
151
+ "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 997us/step - accuracy: 0.8516 - loss: 0.5085\n",
152
+ "Epoch 2/10\n",
153
+ "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.9583 - loss: 0.1397\n",
154
+ "Epoch 3/10\n",
155
+ "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 989us/step - accuracy: 0.9693 - loss: 0.0994\n",
156
+ "Epoch 4/10\n",
157
+ "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.9750 - loss: 0.0770\n",
158
+ "Epoch 5/10\n",
159
+ "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 991us/step - accuracy: 0.9792 - loss: 0.0663\n",
160
+ "Epoch 6/10\n",
161
+ "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.9834 - loss: 0.0528\n",
162
+ "Epoch 7/10\n",
163
+ "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.9851 - loss: 0.0476\n",
164
+ "Epoch 8/10\n",
165
+ "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 987us/step - accuracy: 0.9874 - loss: 0.0377\n",
166
+ "Epoch 9/10\n",
167
+ "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━���━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 984us/step - accuracy: 0.9881 - loss: 0.0361\n",
168
+ "Epoch 10/10\n",
169
+ "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 1ms/step - accuracy: 0.9894 - loss: 0.0330\n"
170
+ ]
171
+ },
172
+ {
173
+ "data": {
174
+ "text/plain": [
175
+ "<keras.src.callbacks.history.History at 0x7fc205450b20>"
176
+ ]
177
+ },
178
+ "execution_count": 8,
179
+ "metadata": {},
180
+ "output_type": "execute_result"
181
+ }
182
+ ],
183
+ "source": [
184
+ "model.fit(xtrain, ytrain, epochs=10)"
185
+ ]
186
+ },
187
+ {
188
+ "cell_type": "markdown",
189
+ "metadata": {},
190
+ "source": [
191
+ "# Model Evaluation"
192
+ ]
193
+ },
194
+ {
195
+ "cell_type": "code",
196
+ "execution_count": 11,
197
+ "metadata": {},
198
+ "outputs": [
199
+ {
200
+ "name": "stdout",
201
+ "output_type": "stream",
202
+ "text": [
203
+ "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 639us/step - accuracy: 0.9692 - loss: 0.1310\n",
204
+ "0.9732999801635742\n"
205
+ ]
206
+ }
207
+ ],
208
+ "source": [
209
+ "loss, accuracy = model.evaluate(xtest, ytest)\n",
210
+ "print(accuracy)"
211
+ ]
212
+ },
213
+ {
214
+ "cell_type": "code",
215
+ "execution_count": 14,
216
+ "metadata": {},
217
+ "outputs": [
218
+ {
219
+ "name": "stdout",
220
+ "output_type": "stream",
221
+ "text": [
222
+ "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 670us/step\n",
223
+ "[2.4160374e-07 3.3420871e-03 1.1445179e-06 3.8864651e-01 5.7001042e-01\n",
224
+ " 2.6585741e-04 1.7884640e-13 8.8173872e-01 4.8669740e-03 9.9999923e-01]\n",
225
+ "9\n"
226
+ ]
227
+ }
228
+ ],
229
+ "source": [
230
+ "y_pred = model.predict(xtest)\n",
231
+ "print(y_pred[1000])\n",
232
+ "print(ytest[1000])"
233
+ ]
234
+ },
235
+ {
236
+ "cell_type": "markdown",
237
+ "metadata": {},
238
+ "source": [
239
+ "# np.argmax() --> returns the index of the maximum value present in the numpy array"
240
+ ]
241
+ },
242
+ {
243
+ "cell_type": "code",
244
+ "execution_count": 16,
245
+ "metadata": {},
246
+ "outputs": [
247
+ {
248
+ "name": "stdout",
249
+ "output_type": "stream",
250
+ "text": [
251
+ "3\n"
252
+ ]
253
+ }
254
+ ],
255
+ "source": [
256
+ "arr = np.asarray([4, 5, 700, 900, 7])\n",
257
+ "print(np.argmax(arr))"
258
+ ]
259
+ },
260
+ {
261
+ "cell_type": "code",
262
+ "execution_count": 19,
263
+ "metadata": {},
264
+ "outputs": [
265
+ {
266
+ "name": "stdout",
267
+ "output_type": "stream",
268
+ "text": [
269
+ "9\n",
270
+ "9\n"
271
+ ]
272
+ }
273
+ ],
274
+ "source": [
275
+ "y_pred_labels = [np.argmax(i) for i in y_pred]\n",
276
+ "\n",
277
+ "print(y_pred_labels[1000])\n",
278
+ "print(ytest[1000])"
279
+ ]
280
+ },
281
+ {
282
+ "cell_type": "code",
283
+ "execution_count": 21,
284
+ "metadata": {},
285
+ "outputs": [
286
+ {
287
+ "name": "stdout",
288
+ "output_type": "stream",
289
+ "text": [
290
+ "tf.Tensor(\n",
291
+ "[[ 967 0 0 1 0 0 6 2 4 0]\n",
292
+ " [ 0 1118 3 2 0 1 3 0 8 0]\n",
293
+ " [ 3 1 1005 1 4 0 5 3 10 0]\n",
294
+ " [ 1 1 8 976 0 9 0 3 7 5]\n",
295
+ " [ 0 0 0 1 965 1 8 4 1 2]\n",
296
+ " [ 1 0 1 9 1 866 8 0 5 1]\n",
297
+ " [ 6 2 1 0 3 8 935 2 1 0]\n",
298
+ " [ 2 5 9 5 2 0 0 992 8 5]\n",
299
+ " [ 3 0 4 4 4 8 3 2 946 0]\n",
300
+ " [ 1 4 0 4 9 5 2 5 17 962]], shape=(10, 10), dtype=int32)\n"
301
+ ]
302
+ }
303
+ ],
304
+ "source": [
305
+ "from tensorflow.math import confusion_matrix\n",
306
+ "\n",
307
+ "conf_mat = confusion_matrix(ytest, y_pred_labels)\n",
308
+ "print(conf_mat)"
309
+ ]
310
+ },
311
+ {
312
+ "cell_type": "code",
313
+ "execution_count": 23,
314
+ "metadata": {},
315
+ "outputs": [
316
+ {
317
+ "data": {
318
+ "text/plain": [
319
+ "Text(0.5, 47.7222222222222, 'Predicted Values')"
320
+ ]
321
+ },
322
+ "execution_count": 23,
323
+ "metadata": {},
324
+ "output_type": "execute_result"
325
+ },
326
+ {
327
+ "data": {
328
+ "image/png": "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KMMwVKdOHR0/flzDhg1T3bp1+ZsILouf5LeB7t276+LFixo5cqR++uknNWrUSBs2bLhlUV8UnP3796tNmzZ596OioiRJkZGRio+PtyiV64qLi5MkPfDAA07j8+bNYwHCQnLhwgX17t1bKSkpCggIUIMGDbRx40a1a9fO6mhAgTl79qx69Oihy5cvq1y5crr//vu1Z88elStXzupoLuuee+7RypUrFR0drbFjx6p69eqaNm0aC5ua4PPPP9eZM2coCJhg+vTpGjFihF5++WVduHBBwcHBeuGFFzRy5Eiro7m0q1evKjo6WmfPnlXp0qX12GOPafz48SpevLjV0YBCYTMMw7A6BAAAAAAAQFHBmjEAAAAAAAAmohgDAAAAAABgIooxAAAAAAAAJqIYAwAAAAAAYCKKMQAAAAAAACaiGAMAAAAAAGAiijEAAAAAAAAmohgDAMBtqk+fPuratWve/QceeEBDhgwxPcfWrVtls9n0888/F+p+bDabVq1aVaj7AAAAuB1QjAEA4E/o06ePbDabbDabPDw8VLNmTY0dO1a5ubmFvu9PPvlEMTEx+XquWQWUGzduqGzZspo4ceKvPh4TE6OgoCDl5OQUag4AAIA7CcUYAAD+pI4dOyolJUXJycl65ZVXNHr0aE2ZMuVXn3vjxo0C22/p0qXl5+dXYNsrCB4eHnrmmWc0b968Wx4zDEPx8fHq3bu3ihcvbkE6AACA2xPFGAAA/iRPT0+VL19eVatW1UsvvaSIiAh9+umnkv7v0qLx48crODhYderUkST98MMPevLJJ1WyZEmVLl1aXbp00ffff5+3TbvdrqioKJUsWVJlypTRa6+9JsMwnPb735cpZWdn6/XXX1flypXl6empmjVrau7cufr+++/Vpk0bSVKpUqVks9nUp08fSZLD4VBsbKyqV68ub29vNWzYUMuXL3faz7p161S7dm15e3urTZs2Tjl/Tb9+/XTs2DHt3LnTaXzbtm06efKk+vXrp3379qldu3YqW7asAgIC1Lp1ayUkJPzmNn+tsycxMVE2m80pz86dO9WyZUt5e3urcuXKGjRokDIyMvIenzVrlmrVqiUvLy8FBQXp8ccf/91jAQAAMAPFGAAA/kfe3t5OHTCbN29WUlKSNm3apDVr1ignJ0cdOnSQn5+fduzYoS+//FK+vr7q2LFj3uveeustxcfH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",
329
+ "text/plain": [
330
+ "<Figure size 1500x700 with 2 Axes>"
331
+ ]
332
+ },
333
+ "metadata": {},
334
+ "output_type": "display_data"
335
+ }
336
+ ],
337
+ "source": [
338
+ "import seaborn as sns\n",
339
+ "plt.figure(figsize=(15, 7))\n",
340
+ "sns.heatmap(conf_mat, annot=True, fmt='d', cmap='Greens')\n",
341
+ "plt.ylabel(\"Correct values\")\n",
342
+ "plt.xlabel(\"Predicted Values\")"
343
+ ]
344
+ },
345
+ {
346
+ "cell_type": "code",
347
+ "execution_count": 6,
348
+ "metadata": {},
349
+ "outputs": [
350
+ {
351
+ "name": "stdout",
352
+ "output_type": "stream",
353
+ "text": [
354
+ "(28, 28)\n"
355
+ ]
356
+ }
357
+ ],
358
+ "source": [
359
+ "import cv2\n",
360
+ "\n",
361
+ "img = cv2.imread(\"sample.webp\")\n",
362
+ "img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)\n",
363
+ "img = cv2.resize(img, (28, 28))\n",
364
+ "print(img.shape)"
365
+ ]
366
+ },
367
+ {
368
+ "cell_type": "code",
369
+ "execution_count": null,
370
+ "metadata": {},
371
+ "outputs": [],
372
+ "source": [
373
+ "img = img/255"
374
+ ]
375
+ }
376
+ ],
377
+ "metadata": {
378
+ "kernelspec": {
379
+ "display_name": "Python 3",
380
+ "language": "python",
381
+ "name": "python3"
382
+ },
383
+ "language_info": {
384
+ "codemirror_mode": {
385
+ "name": "ipython",
386
+ "version": 3
387
+ },
388
+ "file_extension": ".py",
389
+ "mimetype": "text/x-python",
390
+ "name": "python",
391
+ "nbconvert_exporter": "python",
392
+ "pygments_lexer": "ipython3",
393
+ "version": "3.9.19"
394
+ }
395
+ },
396
+ "nbformat": 4,
397
+ "nbformat_minor": 2
398
+ }