hieptran318204 commited on
Commit
05ec9f7
·
verified ·
1 Parent(s): 41ddf5c

first commit

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +203 -0
  2. cnn_tutorial.ipynb +200 -0
  3. data.cat_dog/train/cats/_DS_Store +0 -0
  4. data.cat_dog/train/cats/cat.4001.jpg +0 -0
  5. data.cat_dog/train/cats/cat.4002.jpg +0 -0
  6. data.cat_dog/train/cats/cat.4003.jpg +0 -0
  7. data.cat_dog/train/cats/cat.4004.jpg +0 -0
  8. data.cat_dog/train/cats/cat.4005.jpg +0 -0
  9. data.cat_dog/train/cats/cat.4006.jpg +0 -0
  10. data.cat_dog/train/cats/cat.4007.jpg +0 -0
  11. data.cat_dog/train/cats/cat.4008.jpg +0 -0
  12. data.cat_dog/train/cats/cat.4009.jpg +0 -0
  13. data.cat_dog/train/cats/cat.4010.jpg +0 -0
  14. data.cat_dog/train/cats/cat.4011.jpg +0 -0
  15. data.cat_dog/train/cats/cat.4012.jpg +0 -0
  16. data.cat_dog/train/cats/cat.4013.jpg +0 -0
  17. data.cat_dog/train/cats/cat.4014.jpg +0 -0
  18. data.cat_dog/train/cats/cat.4015.jpg +0 -0
  19. data.cat_dog/train/cats/cat.4016.jpg +0 -0
  20. data.cat_dog/train/cats/cat.4017.jpg +0 -0
  21. data.cat_dog/train/cats/cat.4018.jpg +0 -0
  22. data.cat_dog/train/cats/cat.4019.jpg +0 -0
  23. data.cat_dog/train/cats/cat.4020.jpg +0 -0
  24. data.cat_dog/train/cats/cat.4021.jpg +0 -0
  25. data.cat_dog/train/cats/cat.4022.jpg +0 -0
  26. data.cat_dog/train/cats/cat.4023.jpg +0 -0
  27. data.cat_dog/train/cats/cat.4024.jpg +0 -0
  28. data.cat_dog/train/cats/cat.4025.jpg +0 -0
  29. data.cat_dog/train/cats/cat.4026.jpg +0 -0
  30. data.cat_dog/train/cats/cat.4027.jpg +0 -0
  31. data.cat_dog/train/cats/cat.4028.jpg +0 -0
  32. data.cat_dog/train/cats/cat.4029.jpg +0 -0
  33. data.cat_dog/train/cats/cat.4030.jpg +0 -0
  34. data.cat_dog/train/cats/cat.4031.jpg +0 -0
  35. data.cat_dog/train/cats/cat.4032.jpg +0 -0
  36. data.cat_dog/train/cats/cat.4033.jpg +0 -0
  37. data.cat_dog/train/cats/cat.4034.jpg +0 -0
  38. data.cat_dog/train/cats/cat.4035.jpg +0 -0
  39. data.cat_dog/train/cats/cat.4036.jpg +0 -0
  40. data.cat_dog/train/cats/cat.4037.jpg +0 -0
  41. data.cat_dog/train/cats/cat.4038.jpg +0 -0
  42. data.cat_dog/train/cats/cat.4039.jpg +0 -0
  43. data.cat_dog/train/cats/cat.4040.jpg +0 -0
  44. data.cat_dog/train/cats/cat.4041.jpg +0 -0
  45. data.cat_dog/train/cats/cat.4042.jpg +0 -0
  46. data.cat_dog/train/cats/cat.4043.jpg +0 -0
  47. data.cat_dog/train/cats/cat.4044.jpg +0 -0
  48. data.cat_dog/train/cats/cat.4045.jpg +0 -0
  49. data.cat_dog/train/cats/cat.4046.jpg +0 -0
  50. data.cat_dog/train/cats/cat.4047.jpg +0 -0
.gitattributes CHANGED
@@ -33,3 +33,206 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ model_deployment/static/uploads/upload_image.jpg filter=lfs diff=lfs merge=lfs -text
37
+ test/cats/cat_113.jpg filter=lfs diff=lfs merge=lfs -text
38
+ test/cats/cat_268.jpg filter=lfs diff=lfs merge=lfs -text
39
+ test/cats/cat_313.jpg filter=lfs diff=lfs merge=lfs -text
40
+ test/cats/cat_358.jpg filter=lfs diff=lfs merge=lfs -text
41
+ test/cats/cat_371.jpg filter=lfs diff=lfs merge=lfs -text
42
+ test/cats/cat_418.jpg filter=lfs diff=lfs merge=lfs -text
43
+ test/cats/cat_422.jpg filter=lfs diff=lfs merge=lfs -text
44
+ test/cats/cat_430.jpg filter=lfs diff=lfs merge=lfs -text
45
+ test/cats/cat_496.jpg filter=lfs diff=lfs merge=lfs -text
46
+ test/cats/cat_5.jpg filter=lfs diff=lfs merge=lfs -text
47
+ test/cats/cat_523.jpg filter=lfs diff=lfs merge=lfs -text
48
+ test/cats/cat_538.jpg filter=lfs diff=lfs merge=lfs -text
49
+ test/cats/cat_545.jpg filter=lfs diff=lfs merge=lfs -text
50
+ test/cats/cat_564.jpg filter=lfs diff=lfs merge=lfs -text
51
+ test/cats/cat_574.jpg filter=lfs diff=lfs merge=lfs -text
52
+ test/cats/cat_595.jpg filter=lfs diff=lfs merge=lfs -text
53
+ test/cats/cat_60.jpg filter=lfs diff=lfs merge=lfs -text
54
+ test/cats/cat_96.jpg filter=lfs diff=lfs merge=lfs -text
55
+ test/dogs/dog_123.jpg filter=lfs diff=lfs merge=lfs -text
56
+ test/dogs/dog_141.jpg filter=lfs diff=lfs merge=lfs -text
57
+ test/dogs/dog_211.jpg filter=lfs diff=lfs merge=lfs -text
58
+ test/dogs/dog_227.jpg filter=lfs diff=lfs merge=lfs -text
59
+ test/dogs/dog_229.jpg filter=lfs diff=lfs merge=lfs -text
60
+ test/dogs/dog_28.jpg filter=lfs diff=lfs merge=lfs -text
61
+ test/dogs/dog_377.jpg filter=lfs diff=lfs merge=lfs -text
62
+ test/dogs/dog_380.jpg filter=lfs diff=lfs merge=lfs -text
63
+ test/dogs/dog_398.jpg filter=lfs diff=lfs merge=lfs -text
64
+ test/dogs/dog_421.jpg filter=lfs diff=lfs merge=lfs -text
65
+ test/dogs/dog_43.jpg filter=lfs diff=lfs merge=lfs -text
66
+ test/dogs/dog_464.jpg filter=lfs diff=lfs merge=lfs -text
67
+ test/dogs/dog_528.jpg filter=lfs diff=lfs merge=lfs -text
68
+ test/dogs/dog_536.jpg filter=lfs diff=lfs merge=lfs -text
69
+ test/dogs/dog_551.jpg filter=lfs diff=lfs merge=lfs -text
70
+ test/dogs/dog_563.jpg filter=lfs diff=lfs merge=lfs -text
71
+ test/dogs/dog_68.jpg filter=lfs diff=lfs merge=lfs -text
72
+ train/cats/cat_10.jpg filter=lfs diff=lfs merge=lfs -text
73
+ train/cats/cat_111.jpg filter=lfs diff=lfs merge=lfs -text
74
+ train/cats/cat_120.jpg filter=lfs diff=lfs merge=lfs -text
75
+ train/cats/cat_123.jpg filter=lfs diff=lfs merge=lfs -text
76
+ train/cats/cat_132.jpg filter=lfs diff=lfs merge=lfs -text
77
+ train/cats/cat_138.jpg filter=lfs diff=lfs merge=lfs -text
78
+ train/cats/cat_146.jpg filter=lfs diff=lfs merge=lfs -text
79
+ train/cats/cat_148.jpg filter=lfs diff=lfs merge=lfs -text
80
+ train/cats/cat_149.jpg filter=lfs diff=lfs merge=lfs -text
81
+ train/cats/cat_15.jpg filter=lfs diff=lfs merge=lfs -text
82
+ train/cats/cat_168.jpg filter=lfs diff=lfs merge=lfs -text
83
+ train/cats/cat_183.jpg filter=lfs diff=lfs merge=lfs -text
84
+ train/cats/cat_194.jpg filter=lfs diff=lfs merge=lfs -text
85
+ train/cats/cat_201.jpg filter=lfs diff=lfs merge=lfs -text
86
+ train/cats/cat_202.jpg filter=lfs diff=lfs merge=lfs -text
87
+ train/cats/cat_214.jpg filter=lfs diff=lfs merge=lfs -text
88
+ train/cats/cat_215.jpg filter=lfs diff=lfs merge=lfs -text
89
+ train/cats/cat_220.jpg filter=lfs diff=lfs merge=lfs -text
90
+ train/cats/cat_230.jpg filter=lfs diff=lfs merge=lfs -text
91
+ train/cats/cat_253.jpg filter=lfs diff=lfs merge=lfs -text
92
+ train/cats/cat_26.jpg filter=lfs diff=lfs merge=lfs -text
93
+ train/cats/cat_261.jpg filter=lfs diff=lfs merge=lfs -text
94
+ train/cats/cat_263.jpg filter=lfs diff=lfs merge=lfs -text
95
+ train/cats/cat_27.jpg filter=lfs diff=lfs merge=lfs -text
96
+ train/cats/cat_298.jpg filter=lfs diff=lfs merge=lfs -text
97
+ train/cats/cat_3.jpg filter=lfs diff=lfs merge=lfs -text
98
+ train/cats/cat_310.jpg filter=lfs diff=lfs merge=lfs -text
99
+ train/cats/cat_317.jpg filter=lfs diff=lfs merge=lfs -text
100
+ train/cats/cat_329.jpg filter=lfs diff=lfs merge=lfs -text
101
+ train/cats/cat_333.jpg filter=lfs diff=lfs merge=lfs -text
102
+ train/cats/cat_348.jpg filter=lfs diff=lfs merge=lfs -text
103
+ train/cats/cat_35.jpg filter=lfs diff=lfs merge=lfs -text
104
+ train/cats/cat_367.jpg filter=lfs diff=lfs merge=lfs -text
105
+ train/cats/cat_37.jpg filter=lfs diff=lfs merge=lfs -text
106
+ train/cats/cat_373.jpg filter=lfs diff=lfs merge=lfs -text
107
+ train/cats/cat_377.jpg filter=lfs diff=lfs merge=lfs -text
108
+ train/cats/cat_38.jpg filter=lfs diff=lfs merge=lfs -text
109
+ train/cats/cat_380.jpg filter=lfs diff=lfs merge=lfs -text
110
+ train/cats/cat_381.jpg filter=lfs diff=lfs merge=lfs -text
111
+ train/cats/cat_408.jpg filter=lfs diff=lfs merge=lfs -text
112
+ train/cats/cat_414.jpg filter=lfs diff=lfs merge=lfs -text
113
+ train/cats/cat_416.jpg filter=lfs diff=lfs merge=lfs -text
114
+ train/cats/cat_419.jpg filter=lfs diff=lfs merge=lfs -text
115
+ train/cats/cat_420.jpg filter=lfs diff=lfs merge=lfs -text
116
+ train/cats/cat_423.jpg filter=lfs diff=lfs merge=lfs -text
117
+ train/cats/cat_440.jpg filter=lfs diff=lfs merge=lfs -text
118
+ train/cats/cat_452.jpg filter=lfs diff=lfs merge=lfs -text
119
+ train/cats/cat_46.jpg filter=lfs diff=lfs merge=lfs -text
120
+ train/cats/cat_461.jpg filter=lfs diff=lfs merge=lfs -text
121
+ train/cats/cat_463.jpg filter=lfs diff=lfs merge=lfs -text
122
+ train/cats/cat_467.jpg filter=lfs diff=lfs merge=lfs -text
123
+ train/cats/cat_487.jpg filter=lfs diff=lfs merge=lfs -text
124
+ train/cats/cat_492.jpg filter=lfs diff=lfs merge=lfs -text
125
+ train/cats/cat_493.jpg filter=lfs diff=lfs merge=lfs -text
126
+ train/cats/cat_500.jpg filter=lfs diff=lfs merge=lfs -text
127
+ train/cats/cat_511.jpg filter=lfs diff=lfs merge=lfs -text
128
+ train/cats/cat_519.jpg filter=lfs diff=lfs merge=lfs -text
129
+ train/cats/cat_526.jpg filter=lfs diff=lfs merge=lfs -text
130
+ train/cats/cat_531.jpg filter=lfs diff=lfs merge=lfs -text
131
+ train/cats/cat_535.jpg filter=lfs diff=lfs merge=lfs -text
132
+ train/cats/cat_548.jpg filter=lfs diff=lfs merge=lfs -text
133
+ train/cats/cat_553.jpg filter=lfs diff=lfs merge=lfs -text
134
+ train/cats/cat_556.jpg filter=lfs diff=lfs merge=lfs -text
135
+ train/cats/cat_558.jpg filter=lfs diff=lfs merge=lfs -text
136
+ train/cats/cat_560.jpg filter=lfs diff=lfs merge=lfs -text
137
+ train/cats/cat_565.jpg filter=lfs diff=lfs merge=lfs -text
138
+ train/cats/cat_569.jpg filter=lfs diff=lfs merge=lfs -text
139
+ train/cats/cat_570.jpg filter=lfs diff=lfs merge=lfs -text
140
+ train/cats/cat_58.jpg filter=lfs diff=lfs merge=lfs -text
141
+ train/cats/cat_580.jpg filter=lfs diff=lfs merge=lfs -text
142
+ train/cats/cat_581.jpg filter=lfs diff=lfs merge=lfs -text
143
+ train/cats/cat_591.jpg filter=lfs diff=lfs merge=lfs -text
144
+ train/cats/cat_592.jpg filter=lfs diff=lfs merge=lfs -text
145
+ train/cats/cat_604.jpg filter=lfs diff=lfs merge=lfs -text
146
+ train/cats/cat_605.jpg filter=lfs diff=lfs merge=lfs -text
147
+ train/cats/cat_61.jpg filter=lfs diff=lfs merge=lfs -text
148
+ train/cats/cat_67.jpg filter=lfs diff=lfs merge=lfs -text
149
+ train/cats/cat_70.jpg filter=lfs diff=lfs merge=lfs -text
150
+ train/cats/cat_77.jpg filter=lfs diff=lfs merge=lfs -text
151
+ train/cats/cat_80.jpg filter=lfs diff=lfs merge=lfs -text
152
+ train/cats/cat_93.jpg filter=lfs diff=lfs merge=lfs -text
153
+ train/cats/cat_97.jpg filter=lfs diff=lfs merge=lfs -text
154
+ train/dogs/dog_0.jpg filter=lfs diff=lfs merge=lfs -text
155
+ train/dogs/dog_10.jpg filter=lfs diff=lfs merge=lfs -text
156
+ train/dogs/dog_106.jpg filter=lfs diff=lfs merge=lfs -text
157
+ train/dogs/dog_125.jpg filter=lfs diff=lfs merge=lfs -text
158
+ train/dogs/dog_128.jpg filter=lfs diff=lfs merge=lfs -text
159
+ train/dogs/dog_13.jpg filter=lfs diff=lfs merge=lfs -text
160
+ train/dogs/dog_133.jpg filter=lfs diff=lfs merge=lfs -text
161
+ train/dogs/dog_136.jpg filter=lfs diff=lfs merge=lfs -text
162
+ train/dogs/dog_139.jpg filter=lfs diff=lfs merge=lfs -text
163
+ train/dogs/dog_151.jpg filter=lfs diff=lfs merge=lfs -text
164
+ train/dogs/dog_162.jpg filter=lfs diff=lfs merge=lfs -text
165
+ train/dogs/dog_165.jpg filter=lfs diff=lfs merge=lfs -text
166
+ train/dogs/dog_167.jpg filter=lfs diff=lfs merge=lfs -text
167
+ train/dogs/dog_178.jpg filter=lfs diff=lfs merge=lfs -text
168
+ train/dogs/dog_186.jpg filter=lfs diff=lfs merge=lfs -text
169
+ train/dogs/dog_193.jpg filter=lfs diff=lfs merge=lfs -text
170
+ train/dogs/dog_202.jpg filter=lfs diff=lfs merge=lfs -text
171
+ train/dogs/dog_206.jpg filter=lfs diff=lfs merge=lfs -text
172
+ train/dogs/dog_209.jpg filter=lfs diff=lfs merge=lfs -text
173
+ train/dogs/dog_21.jpg filter=lfs diff=lfs merge=lfs -text
174
+ train/dogs/dog_212.jpg filter=lfs diff=lfs merge=lfs -text
175
+ train/dogs/dog_220.jpg filter=lfs diff=lfs merge=lfs -text
176
+ train/dogs/dog_243.jpg filter=lfs diff=lfs merge=lfs -text
177
+ train/dogs/dog_249.jpg filter=lfs diff=lfs merge=lfs -text
178
+ train/dogs/dog_253.jpg filter=lfs diff=lfs merge=lfs -text
179
+ train/dogs/dog_259.jpg filter=lfs diff=lfs merge=lfs -text
180
+ train/dogs/dog_262.jpg filter=lfs diff=lfs merge=lfs -text
181
+ train/dogs/dog_269.jpg filter=lfs diff=lfs merge=lfs -text
182
+ train/dogs/dog_273.jpg filter=lfs diff=lfs merge=lfs -text
183
+ train/dogs/dog_277.jpg filter=lfs diff=lfs merge=lfs -text
184
+ train/dogs/dog_281.jpg filter=lfs diff=lfs merge=lfs -text
185
+ train/dogs/dog_286.jpg filter=lfs diff=lfs merge=lfs -text
186
+ train/dogs/dog_30.jpg filter=lfs diff=lfs merge=lfs -text
187
+ train/dogs/dog_32.jpg filter=lfs diff=lfs merge=lfs -text
188
+ train/dogs/dog_322.jpg filter=lfs diff=lfs merge=lfs -text
189
+ train/dogs/dog_325.jpg filter=lfs diff=lfs merge=lfs -text
190
+ train/dogs/dog_338.jpg filter=lfs diff=lfs merge=lfs -text
191
+ train/dogs/dog_345.jpg filter=lfs diff=lfs merge=lfs -text
192
+ train/dogs/dog_350.jpg filter=lfs diff=lfs merge=lfs -text
193
+ train/dogs/dog_358.jpg filter=lfs diff=lfs merge=lfs -text
194
+ train/dogs/dog_363.jpg filter=lfs diff=lfs merge=lfs -text
195
+ train/dogs/dog_375.jpg filter=lfs diff=lfs merge=lfs -text
196
+ train/dogs/dog_381.jpg filter=lfs diff=lfs merge=lfs -text
197
+ train/dogs/dog_389.jpg filter=lfs diff=lfs merge=lfs -text
198
+ train/dogs/dog_391.jpg filter=lfs diff=lfs merge=lfs -text
199
+ train/dogs/dog_4.jpg filter=lfs diff=lfs merge=lfs -text
200
+ train/dogs/dog_402.jpg filter=lfs diff=lfs merge=lfs -text
201
+ train/dogs/dog_405.jpg filter=lfs diff=lfs merge=lfs -text
202
+ train/dogs/dog_409.jpg filter=lfs diff=lfs merge=lfs -text
203
+ train/dogs/dog_417.jpg filter=lfs diff=lfs merge=lfs -text
204
+ train/dogs/dog_423.jpg filter=lfs diff=lfs merge=lfs -text
205
+ train/dogs/dog_427.jpg filter=lfs diff=lfs merge=lfs -text
206
+ train/dogs/dog_432.jpg filter=lfs diff=lfs merge=lfs -text
207
+ train/dogs/dog_437.jpg filter=lfs diff=lfs merge=lfs -text
208
+ train/dogs/dog_438.jpg filter=lfs diff=lfs merge=lfs -text
209
+ train/dogs/dog_440.jpg filter=lfs diff=lfs merge=lfs -text
210
+ train/dogs/dog_445.jpg filter=lfs diff=lfs merge=lfs -text
211
+ train/dogs/dog_446.jpg filter=lfs diff=lfs merge=lfs -text
212
+ train/dogs/dog_447.jpg filter=lfs diff=lfs merge=lfs -text
213
+ train/dogs/dog_448.jpg filter=lfs diff=lfs merge=lfs -text
214
+ train/dogs/dog_452.jpg filter=lfs diff=lfs merge=lfs -text
215
+ train/dogs/dog_473.jpg filter=lfs diff=lfs merge=lfs -text
216
+ train/dogs/dog_485.jpg filter=lfs diff=lfs merge=lfs -text
217
+ train/dogs/dog_490.jpg filter=lfs diff=lfs merge=lfs -text
218
+ train/dogs/dog_494.jpg filter=lfs diff=lfs merge=lfs -text
219
+ train/dogs/dog_496.jpg filter=lfs diff=lfs merge=lfs -text
220
+ train/dogs/dog_501.jpg filter=lfs diff=lfs merge=lfs -text
221
+ train/dogs/dog_51.jpg filter=lfs diff=lfs merge=lfs -text
222
+ train/dogs/dog_514.jpg filter=lfs diff=lfs merge=lfs -text
223
+ train/dogs/dog_552.jpg filter=lfs diff=lfs merge=lfs -text
224
+ train/dogs/dog_560.jpg filter=lfs diff=lfs merge=lfs -text
225
+ train/dogs/dog_566.jpg filter=lfs diff=lfs merge=lfs -text
226
+ train/dogs/dog_571.jpg filter=lfs diff=lfs merge=lfs -text
227
+ train/dogs/dog_579.jpg filter=lfs diff=lfs merge=lfs -text
228
+ train/dogs/dog_580.jpg filter=lfs diff=lfs merge=lfs -text
229
+ train/dogs/dog_591.jpg filter=lfs diff=lfs merge=lfs -text
230
+ train/dogs/dog_596.jpg filter=lfs diff=lfs merge=lfs -text
231
+ train/dogs/dog_69.jpg filter=lfs diff=lfs merge=lfs -text
232
+ train/dogs/dog_7.jpg filter=lfs diff=lfs merge=lfs -text
233
+ train/dogs/dog_74.jpg filter=lfs diff=lfs merge=lfs -text
234
+ train/dogs/dog_82.jpg filter=lfs diff=lfs merge=lfs -text
235
+ train/dogs/dog_84.jpg filter=lfs diff=lfs merge=lfs -text
236
+ train/dogs/dog_85.jpg filter=lfs diff=lfs merge=lfs -text
237
+ train/dogs/dog_90.jpg filter=lfs diff=lfs merge=lfs -text
238
+ train/dogs/dog_93.jpg filter=lfs diff=lfs merge=lfs -text
cnn_tutorial.ipynb ADDED
@@ -0,0 +1,200 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "# Import library"
8
+ ]
9
+ },
10
+ {
11
+ "cell_type": "code",
12
+ "execution_count": 6,
13
+ "metadata": {},
14
+ "outputs": [],
15
+ "source": [
16
+ "import numpy as np\n",
17
+ "import pandas as pd\n",
18
+ "\n",
19
+ "import cv2\n",
20
+ "import tensorflow as tf\n",
21
+ "from tensorflow import keras\n",
22
+ "from keras import layers, models, optimizers, losses, metrics, preprocessing\n",
23
+ "from keras.models import Sequential\n",
24
+ "from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout\n",
25
+ "from tensorflow.keras.preprocessing.image import ImageDataGenerator"
26
+ ]
27
+ },
28
+ {
29
+ "cell_type": "code",
30
+ "execution_count": 9,
31
+ "metadata": {},
32
+ "outputs": [
33
+ {
34
+ "name": "stdout",
35
+ "output_type": "stream",
36
+ "text": [
37
+ "Found 1823 images belonging to 2 classes.\n",
38
+ "Found 200 images belonging to 2 classes.\n"
39
+ ]
40
+ },
41
+ {
42
+ "name": "stderr",
43
+ "output_type": "stream",
44
+ "text": [
45
+ "c:\\Users\\Home\\anaconda3\\Lib\\site-packages\\keras\\src\\trainers\\data_adapters\\py_dataset_adapter.py:121: UserWarning: Your `PyDataset` class should call `super().__init__(**kwargs)` in its constructor. `**kwargs` can include `workers`, `use_multiprocessing`, `max_queue_size`. Do not pass these arguments to `fit()`, as they will be ignored.\n",
46
+ " self._warn_if_super_not_called()\n"
47
+ ]
48
+ },
49
+ {
50
+ "name": "stdout",
51
+ "output_type": "stream",
52
+ "text": [
53
+ "Epoch 1/15\n",
54
+ "\u001b[1m 92/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━━\u001b[0m \u001b[1m1s\u001b[0m 209ms/step - accuracy: 0.5003 - loss: 0.7080"
55
+ ]
56
+ },
57
+ {
58
+ "name": "stderr",
59
+ "output_type": "stream",
60
+ "text": [
61
+ "c:\\Users\\Home\\anaconda3\\Lib\\site-packages\\keras\\src\\trainers\\epoch_iterator.py:107: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset.\n",
62
+ " self._interrupted_warning()\n"
63
+ ]
64
+ },
65
+ {
66
+ "name": "stdout",
67
+ "output_type": "stream",
68
+ "text": [
69
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m22s\u001b[0m 202ms/step - accuracy: 0.5011 - loss: 0.7071 - val_accuracy: 0.4850 - val_loss: 0.6858\n",
70
+ "Epoch 2/15\n",
71
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m38s\u001b[0m 385ms/step - accuracy: 0.5660 - loss: 0.6854 - val_accuracy: 0.5800 - val_loss: 0.6501\n",
72
+ "Epoch 3/15\n",
73
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 437ms/step - accuracy: 0.6389 - loss: 0.6303 - val_accuracy: 0.5950 - val_loss: 0.6571\n",
74
+ "Epoch 4/15\n",
75
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m43s\u001b[0m 433ms/step - accuracy: 0.6392 - loss: 0.6369 - val_accuracy: 0.6750 - val_loss: 0.6175\n",
76
+ "Epoch 5/15\n",
77
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 433ms/step - accuracy: 0.6641 - loss: 0.6072 - val_accuracy: 0.6750 - val_loss: 0.6209\n",
78
+ "Epoch 6/15\n",
79
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 436ms/step - accuracy: 0.6638 - loss: 0.6029 - val_accuracy: 0.7000 - val_loss: 0.5767\n",
80
+ "Epoch 7/15\n",
81
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 433ms/step - accuracy: 0.6974 - loss: 0.5602 - val_accuracy: 0.7200 - val_loss: 0.5445\n",
82
+ "Epoch 8/15\n",
83
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m43s\u001b[0m 432ms/step - accuracy: 0.7302 - loss: 0.5413 - val_accuracy: 0.7700 - val_loss: 0.5169\n",
84
+ "Epoch 9/15\n",
85
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 433ms/step - accuracy: 0.7109 - loss: 0.5401 - val_accuracy: 0.7200 - val_loss: 0.5424\n",
86
+ "Epoch 10/15\n",
87
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 434ms/step - accuracy: 0.7552 - loss: 0.4997 - val_accuracy: 0.6900 - val_loss: 0.5927\n",
88
+ "Epoch 11/15\n",
89
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 433ms/step - accuracy: 0.7483 - loss: 0.5010 - val_accuracy: 0.7550 - val_loss: 0.5527\n",
90
+ "Epoch 12/15\n",
91
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m42s\u001b[0m 417ms/step - accuracy: 0.7430 - loss: 0.5135 - val_accuracy: 0.7550 - val_loss: 0.5013\n",
92
+ "Epoch 13/15\n",
93
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m43s\u001b[0m 433ms/step - accuracy: 0.7678 - loss: 0.4847 - val_accuracy: 0.7800 - val_loss: 0.5143\n",
94
+ "Epoch 14/15\n",
95
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 434ms/step - accuracy: 0.7890 - loss: 0.4463 - val_accuracy: 0.7600 - val_loss: 0.5209\n",
96
+ "Epoch 15/15\n",
97
+ "\u001b[1m100/100\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m43s\u001b[0m 426ms/step - accuracy: 0.8115 - loss: 0.4065 - val_accuracy: 0.7650 - val_loss: 0.4908\n"
98
+ ]
99
+ },
100
+ {
101
+ "name": "stderr",
102
+ "output_type": "stream",
103
+ "text": [
104
+ "WARNING:absl:You are saving your model as an HDF5 file via `model.save()` or `keras.saving.save_model(model)`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')` or `keras.saving.save_model(model, 'my_model.keras')`. \n"
105
+ ]
106
+ }
107
+ ],
108
+ "source": [
109
+ "img_width, img_height = 150, 150\n",
110
+ "\n",
111
+ "# Model CNN đơn giản\n",
112
+ "model = Sequential([\n",
113
+ " # lớp tích chập đầu tiên với 32 bộ lọc, kích thước kernel (3, 5)\n",
114
+ " Conv2D(32, (3, 3), activation='relu', input_shape=(img_width, img_height, 3)),\n",
115
+ " MaxPooling2D(pool_size=(2, 2)),\n",
116
+ " \n",
117
+ " # lớp tích chập thứ 2 có 64 bộ lọc\n",
118
+ " Conv2D(64, (3, 3), activation='relu'),\n",
119
+ " MaxPooling2D(pool_size=(2, 2)),\n",
120
+ " \n",
121
+ " # lớp tích chập thứ 3 có 128 bộ lọc\n",
122
+ " Conv2D(128, (3, 3), activation='relu'),\n",
123
+ " MaxPooling2D(pool_size=(2, 2)),\n",
124
+ " \n",
125
+ " # chuyển đổi đầu ra -> vector 1d\n",
126
+ " Flatten(),\n",
127
+ " \n",
128
+ " # lớp dense 512 neuron\n",
129
+ " Dense(512, activation='relu'),\n",
130
+ " Dropout(0.5),\n",
131
+ " \n",
132
+ " # lớp đầu ra: 1 neuron với hàm activation là sigmoid -> phân loại chó/mèo\n",
133
+ " Dense(1, activation='sigmoid')\n",
134
+ "])\n",
135
+ "\n",
136
+ "# biên dịch mô hình\n",
137
+ "model.compile(loss='binary_crossentropy',\n",
138
+ " optimizer='adam',\n",
139
+ " metrics=['accuracy'])\n",
140
+ "\n",
141
+ "# dùng ImageDataGenerator -> chuẩn hóa ảnh, thực hiện data augmentation\n",
142
+ "train_datagen = ImageDataGenerator(\n",
143
+ " rescale=1./255,\n",
144
+ " shear_range=0.2,\n",
145
+ " zoom_range=0.2,\n",
146
+ " horizontal_flip=True\n",
147
+ ")\n",
148
+ "\n",
149
+ "test_datagen = ImageDataGenerator(rescale=1./255)\n",
150
+ "\n",
151
+ "# tạo generator cho train và valid\n",
152
+ "train_generator = train_datagen.flow_from_directory(\n",
153
+ " 'data.cat_dog/train',\n",
154
+ " target_size=(img_width, img_height),\n",
155
+ " batch_size=20,\n",
156
+ " class_mode='binary'\n",
157
+ ")\n",
158
+ "\n",
159
+ "valid_generator = test_datagen.flow_from_directory(\n",
160
+ " 'data.cat_dog/valid',\n",
161
+ " target_size=(img_width, img_height),\n",
162
+ " batch_size=20,\n",
163
+ " class_mode='binary'\n",
164
+ ")\n",
165
+ "\n",
166
+ "# huấn luyện\n",
167
+ "history= model.fit(\n",
168
+ " train_generator,\n",
169
+ " steps_per_epoch=100,\n",
170
+ " epochs=15,\n",
171
+ " validation_data=valid_generator,\n",
172
+ " validation_steps=50\n",
173
+ ")\n",
174
+ "\n",
175
+ "model.save('cnn_cats_dogs.h5')"
176
+ ]
177
+ }
178
+ ],
179
+ "metadata": {
180
+ "kernelspec": {
181
+ "display_name": "base",
182
+ "language": "python",
183
+ "name": "python3"
184
+ },
185
+ "language_info": {
186
+ "codemirror_mode": {
187
+ "name": "ipython",
188
+ "version": 3
189
+ },
190
+ "file_extension": ".py",
191
+ "mimetype": "text/x-python",
192
+ "name": "python",
193
+ "nbconvert_exporter": "python",
194
+ "pygments_lexer": "ipython3",
195
+ "version": "3.12.7"
196
+ }
197
+ },
198
+ "nbformat": 4,
199
+ "nbformat_minor": 2
200
+ }
data.cat_dog/train/cats/_DS_Store ADDED
Binary file (6.15 kB). View file
 
data.cat_dog/train/cats/cat.4001.jpg ADDED
data.cat_dog/train/cats/cat.4002.jpg ADDED
data.cat_dog/train/cats/cat.4003.jpg ADDED
data.cat_dog/train/cats/cat.4004.jpg ADDED
data.cat_dog/train/cats/cat.4005.jpg ADDED
data.cat_dog/train/cats/cat.4006.jpg ADDED
data.cat_dog/train/cats/cat.4007.jpg ADDED
data.cat_dog/train/cats/cat.4008.jpg ADDED
data.cat_dog/train/cats/cat.4009.jpg ADDED
data.cat_dog/train/cats/cat.4010.jpg ADDED
data.cat_dog/train/cats/cat.4011.jpg ADDED
data.cat_dog/train/cats/cat.4012.jpg ADDED
data.cat_dog/train/cats/cat.4013.jpg ADDED
data.cat_dog/train/cats/cat.4014.jpg ADDED
data.cat_dog/train/cats/cat.4015.jpg ADDED
data.cat_dog/train/cats/cat.4016.jpg ADDED
data.cat_dog/train/cats/cat.4017.jpg ADDED
data.cat_dog/train/cats/cat.4018.jpg ADDED
data.cat_dog/train/cats/cat.4019.jpg ADDED
data.cat_dog/train/cats/cat.4020.jpg ADDED
data.cat_dog/train/cats/cat.4021.jpg ADDED
data.cat_dog/train/cats/cat.4022.jpg ADDED
data.cat_dog/train/cats/cat.4023.jpg ADDED
data.cat_dog/train/cats/cat.4024.jpg ADDED
data.cat_dog/train/cats/cat.4025.jpg ADDED
data.cat_dog/train/cats/cat.4026.jpg ADDED
data.cat_dog/train/cats/cat.4027.jpg ADDED
data.cat_dog/train/cats/cat.4028.jpg ADDED
data.cat_dog/train/cats/cat.4029.jpg ADDED
data.cat_dog/train/cats/cat.4030.jpg ADDED
data.cat_dog/train/cats/cat.4031.jpg ADDED
data.cat_dog/train/cats/cat.4032.jpg ADDED
data.cat_dog/train/cats/cat.4033.jpg ADDED
data.cat_dog/train/cats/cat.4034.jpg ADDED
data.cat_dog/train/cats/cat.4035.jpg ADDED
data.cat_dog/train/cats/cat.4036.jpg ADDED
data.cat_dog/train/cats/cat.4037.jpg ADDED
data.cat_dog/train/cats/cat.4038.jpg ADDED
data.cat_dog/train/cats/cat.4039.jpg ADDED
data.cat_dog/train/cats/cat.4040.jpg ADDED
data.cat_dog/train/cats/cat.4041.jpg ADDED
data.cat_dog/train/cats/cat.4042.jpg ADDED
data.cat_dog/train/cats/cat.4043.jpg ADDED
data.cat_dog/train/cats/cat.4044.jpg ADDED
data.cat_dog/train/cats/cat.4045.jpg ADDED
data.cat_dog/train/cats/cat.4046.jpg ADDED
data.cat_dog/train/cats/cat.4047.jpg ADDED