基本的图像分类
一、导入相关的Python包
二、导入数据集
这里用的是MNIST的数据集
三、对数据进行处理
四、建立模型
五、训练模型并进行检验
代码
# !/usr/bin/env python
# —*— coding: utf-8 —*—
# @Time: 2019/12/29 9:52
# @Author: Martin
# @File: Clothes_Classification.py.py
# @Software:PyCharm
from __future__ import absolute_import, division, print_function, unicode_literals
from tensorflow import keras
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
train_images = train_images / 255.0
test_images = test_images / 255.0
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=10)
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print('\nTest accuracy:', test_acc)
结果
Train on 60000 samples
Epoch 1/10
32/60000 [..............................] - ETA: 14:49 - loss: 2.2886 - accuracy: 0.0000e+00
896/60000 [..............................] - ETA: 34s - loss: 1.3809 - accuracy: 0.5513
1856/60000 [..............................] - ETA: 18s - loss: 1.1045 - accuracy: 0.6309
2816/60000 [>.............................] - ETA: 12s - loss: 0.9648 - accuracy: 0.6747
3776/60000 [>.............................] - ETA: 10s - loss: 0.8822 - accuracy: 0.7031
4704/60000 [=>............................] - ETA: 8s - loss: 0.8309 - accuracy: 0.7213
5632/60000 [=>............................] - ETA: 7s - loss: 0.8036 - accuracy: 0.7310
6560/60000 [==>...........................] - ETA: 6s - loss: 0.7779 - accuracy: 0.7380
7520/60000 [==>...........................] - ETA: 6s - loss: 0.7652 - accuracy: 0.7422
8448/60000 [===>..........................] - ETA: 5s - loss: 0.7513 - accuracy: 0.7468
9376/60000 [===>..........................] - ETA: 5s - loss: 0.7344 - accuracy: 0.7511
10304/60000 [====>.........................] - ETA: 4s - loss: 0.7193 - accuracy: 0.7556
11264/60000 [====>.........................] - ETA: 4s - loss: 0.7038 - accuracy: 0.7588
12096/60000 [=====>........................] - ETA: 4s - loss: 0.6880 - accuracy: 0.7650
12928/60000 [=====>........................] - ETA: 4s - loss: 0.6789 - accuracy: 0.7692
13856/60000 [=====>........................] - ETA: 4s - loss: 0.6704 - accuracy: 0.7727
14816/60000 [======>.......................] - ETA: 3s - loss: 0.6643 - accuracy: 0.7744
15712/60000 [======>.......................] - ETA: 3s - loss: 0.6574 - accuracy: 0.7767
16640/60000 [=======>......................] - ETA: 3s - loss: 0.6489 - accuracy: 0.7798
17600/60000 [=======>......................] - ETA: 3s - loss: 0.6403 - accuracy: 0.7816
18592/60000 [========>.....................] - ETA: 3s - loss: 0.6314 - accuracy: 0.7854
19520/60000 [========>.....................] - ETA: 3s - loss: 0.6261 - accuracy: 0.7869
20448/60000 [=========>....................] - ETA: 3s - loss: 0.6203 - accuracy: 0.7884
21408/60000 [=========>....................] - ETA: 2s - loss: 0.6177 - accuracy: 0.7892
22368/60000 [==========>...................] - ETA: 2s - loss: 0.6101 - accuracy: 0.7918
23264/60000 [==========>...................] - ETA: 2s - loss: 0.6061 - accuracy: 0.7931
24192/60000 [===========>..................] - ETA: 2s - loss: 0.6024 - accuracy: 0.7945
25152/60000 [===========>..................] - ETA: 2s - loss: 0.5986 - accuracy: 0.7956
26112/60000 [============>.................] - ETA: 2s - loss: 0.5943 - accuracy: 0.7966
27008/60000 [============>.................] - ETA: 2s - loss: 0.5897 - accuracy: 0.7982
27936/60000 [============>.................] - ETA: 2s - loss: 0.5849 - accuracy: 0.8000
28896/60000 [=============>................] - ETA: 2s - loss: 0.5808 - accuracy: 0.8015
29856/60000 [=============>................] - ETA: 2s - loss: 0.5775 - accuracy: 0.8028
30784/60000 [==============>...............] - ETA: 2s - loss: 0.5748 - accuracy: 0.8036
31744/60000 [==============>...............] - ETA: 1s - loss: 0.5716 - accuracy: 0.8048
32672/60000 [===============>..............] - ETA: 1s - loss: 0.5663 - accuracy: 0.8064
33664/60000 [===============>..............] - ETA: 1s - loss: 0.5619 - accuracy: 0.8075
34592/60000 [================>.............] - ETA: 1s - loss: 0.5592 - accuracy: 0.8083
35520/60000 [================>.............] - ETA: 1s - loss: 0.5558 - accuracy: 0.8094
36480/60000 [=================>............] - ETA: 1s - loss: 0.5519 - accuracy: 0.8107
37440/60000 [=================>............] - ETA: 1s - loss: 0.5488 - accuracy: 0.8114
38368/60000 [==================>...........] - ETA: 1s - loss: 0.5462 - accuracy: 0.8121
39296/60000 [==================>...........] - ETA: 1s - loss: 0.5447 - accuracy: 0.8127
40256/60000 [===================>..........] - ETA: 1s - loss: 0.5423 - accuracy: 0.8133
41216/60000 [===================>..........] - ETA: 1s - loss: 0.5392 - accuracy: 0.8143
42144/60000 [====================>.........] - ETA: 1s - loss: 0.5375 - accuracy: 0.8148
43072/60000 [====================>.........] - ETA: 1s - loss: 0.5364 - accuracy: 0.8151
44032/60000 [=====================>........] - ETA: 1s - loss: 0.5340 - accuracy: 0.8161
44992/60000 [=====================>........] - ETA: 0s - loss: 0.5315 - accuracy: 0.8171
45888/60000 [=====================>........] - ETA: 0s - loss: 0.5294 - accuracy: 0.8178
46784/60000 [======================>.......] - ETA: 0s - loss: 0.5274 - accuracy: 0.8185
47744/60000 [======================>.......] - ETA: 0s - loss: 0.5250 - accuracy: 0.8194
48704/60000 [=======================>......] - ETA: 0s - loss: 0.5232 - accuracy: 0.8198
49632/60000 [=======================>......] - ETA: 0s - loss: 0.5212 - accuracy: 0.8204
50560/60000 [========================>.....] - ETA: 0s - loss: 0.5200 - accuracy: 0.8206
51520/60000 [========================>.....] - ETA: 0s - loss: 0.5181 - accuracy: 0.8210
52480/60000 [=========================>....] - ETA: 0s - loss: 0.5167 - accuracy: 0.8216
53440/60000 [=========================>....] - ETA: 0s - loss: 0.5144 - accuracy: 0.8221
54368/60000 [==========================>...] - ETA: 0s - loss: 0.5130 - accuracy: 0.8226
55296/60000 [==========================>...] - ETA: 0s - loss: 0.5109 - accuracy: 0.8231
56224/60000 [===========================>..] - ETA: 0s - loss: 0.5087 - accuracy: 0.8238
57184/60000 [===========================>..] - ETA: 0s - loss: 0.5070 - accuracy: 0.8240
58112/60000 [============================>.] - ETA: 0s - loss: 0.5061 - accuracy: 0.8242
59040/60000 [============================>.] - ETA: 0s - loss: 0.5044 - accuracy: 0.8248
60000/60000 [==============================] - 4s 62us/sample - loss: 0.5027 - accuracy: 0.8254
Epoch 2/10
32/60000 [..............................] - ETA: 5s - loss: 0.2653 - accuracy: 0.8750
992/60000 [..............................] - ETA: 3s - loss: 0.3935 - accuracy: 0.8690
1920/60000 [..............................] - ETA: 3s - loss: 0.3932 - accuracy: 0.8656
2848/60000 [>.............................] - ETA: 3s - loss: 0.3853 - accuracy: 0.8680
3808/60000 [>.............................] - ETA: 3s - loss: 0.3753 - accuracy: 0.8700
4768/60000 [=>............................] - ETA: 3s - loss: 0.3909 - accuracy: 0.8639
5696/60000 [=>............................] - ETA: 2s - loss: 0.3916 - accuracy: 0.8638
6624/60000 [==>...........................] - ETA: 2s - loss: 0.3896 - accuracy: 0.8632
7584/60000 [==>...........................] - ETA: 2s - loss: 0.3923 - accuracy: 0.8630
8544/60000 [===>..........................] - ETA: 2s - loss: 0.3958 - accuracy: 0.8638
9472/60000 [===>..........................] - ETA: 2s - loss: 0.3961 - accuracy: 0.8636
10400/60000 [====>.........................] - ETA: 2s - loss: 0.3965 - accuracy: 0.8634
11360/60000 [====>.........................] - ETA: 2s - loss: 0.3957 - accuracy: 0.8635
12320/60000 [=====>........................] - ETA: 2s - loss: 0.3932 - accuracy: 0.8641
13280/60000 [=====>........................] - ETA: 2s - loss: 0.3915 - accuracy: 0.8651
14208/60000 [======>.......................] - ETA: 2s - loss: 0.3908 - accuracy: 0.8649
15168/60000 [======>.......................] - ETA: 2s - loss: 0.3909 - accuracy: 0.8649
16128/60000 [=======>......................] - ETA: 2s - loss: 0.3916 - accuracy: 0.8645
17056/60000 [=======>......................] - ETA: 2s - loss: 0.3880 - accuracy: 0.8655
18016/60000 [========>.....................] - ETA: 2s - loss: 0.3878 - accuracy: 0.8651
18976/60000 [========>.....................] - ETA: 2s - loss: 0.3860 - accuracy: 0.8656
19936/60000 [========>.....................] - ETA: 2s - loss: 0.3852 - accuracy: 0.8656
20864/60000 [=========>....................] - ETA: 2s - loss: 0.3858 - accuracy: 0.8652
21824/60000 [=========>....................] - ETA: 2s - loss: 0.3871 - accuracy: 0.8647
22784/60000 [==========>...................] - ETA: 2s - loss: 0.3869 - accuracy: 0.8644
23744/60000 [==========>...................] - ETA: 1s - loss: 0.3866 - accuracy: 0.8643
24672/60000 [===========>..................] - ETA: 1s - loss: 0.3873 - accuracy: 0.8639
25600/60000 [===========>..................] - ETA: 1s - loss: 0.3870 - accuracy: 0.8635
26560/60000 [============>.................] - ETA: 1s - loss: 0.3862 - accuracy: 0.8638
27520/60000 [============>.................] - ETA: 1s - loss: 0.3864 - accuracy: 0.8635
28448/60000 [=============>................] - ETA: 1s - loss: 0.3859 - accuracy: 0.8635
29376/60000 [=============>................] - ETA: 1s - loss: 0.3865 - accuracy: 0.8628
30336/60000 [==============>...............] - ETA: 1s - loss: 0.3859 - accuracy: 0.8628
31296/60000 [==============>...............] - ETA: 1s - loss: 0.3860 - accuracy: 0.8622
32224/60000 [===============>..............] - ETA: 1s - loss: 0.3861 - accuracy: 0.8619
33184/60000 [===============>..............] - ETA: 1s - loss: 0.3854 - accuracy: 0.8621
34144/60000 [================>.............] - ETA: 1s - loss: 0.3847 - accuracy: 0.8621
35104/60000 [================>.............] - ETA: 1s - loss: 0.3839 - accuracy: 0.8623
35968/60000 [================>.............] - ETA: 1s - loss: 0.3836 - accuracy: 0.8624
36896/60000 [=================>............] - ETA: 1s - loss: 0.3820 - accuracy: 0.8628
37856/60000 [=================>............] - ETA: 1s - loss: 0.3811 - accuracy: 0.8635
38816/60000 [==================>...........] - ETA: 1s - loss: 0.3803 - accuracy: 0.8637
39744/60000 [==================>...........] - ETA: 1s - loss: 0.3795 - accuracy: 0.8645
40704/60000 [===================>..........] - ETA: 1s - loss: 0.3785 - accuracy: 0.8646
41664/60000 [===================>..........] - ETA: 0s - loss: 0.3792 - accuracy: 0.8643
42592/60000 [====================>.........] - ETA: 0s - loss: 0.3793 - accuracy: 0.8644
43520/60000 [====================>.........] - ETA: 0s - loss: 0.3799 - accuracy: 0.8644
44448/60000 [=====================>........] - ETA: 0s - loss: 0.3794 - accuracy: 0.8647
45408/60000 [=====================>........] - ETA: 0s - loss: 0.3799 - accuracy: 0.8644
46304/60000 [======================>.......] - ETA: 0s - loss: 0.3802 - accuracy: 0.8641
47168/60000 [======================>.......] - ETA: 0s - loss: 0.3803 - accuracy: 0.8640
48000/60000 [=======================>......] - ETA: 0s - loss: 0.3793 - accuracy: 0.8644
48864/60000 [=======================>......] - ETA: 0s - loss: 0.3786 - accuracy: 0.8647
49792/60000 [=======================>......] - ETA: 0s - loss: 0.3782 - accuracy: 0.8650
50720/60000 [========================>.....] - ETA: 0s - loss: 0.3778 - accuracy: 0.8648
51584/60000 [========================>.....] - ETA: 0s - loss: 0.3780 - accuracy: 0.8650
52448/60000 [=========================>....] - ETA: 0s - loss: 0.3778 - accuracy: 0.8648
53344/60000 [=========================>....] - ETA: 0s - loss: 0.3776 - accuracy: 0.8647
54304/60000 [==========================>...] - ETA: 0s - loss: 0.3771 - accuracy: 0.8646
55200/60000 [==========================>...] - ETA: 0s - loss: 0.3769 - accuracy: 0.8647
56128/60000 [===========================>..] - ETA: 0s - loss: 0.3778 - accuracy: 0.8644
57088/60000 [===========================>..] - ETA: 0s - loss: 0.3777 - accuracy: 0.8644
58016/60000 [============================>.] - ETA: 0s - loss: 0.3776 - accuracy: 0.8643
58880/60000 [============================>.] - ETA: 0s - loss: 0.3764 - accuracy: 0.8645
59808/60000 [============================>.] - ETA: 0s - loss: 0.3758 - accuracy: 0.8647
60000/60000 [==============================] - 3s 55us/sample - loss: 0.3759 - accuracy: 0.8647
Epoch 3/10
32/60000 [..............................] - ETA: 3s - loss: 0.3125 - accuracy: 0.9375
896/60000 [..............................] - ETA: 3s - loss: 0.3276 - accuracy: 0.8817
1792/60000 [..............................] - ETA: 3s - loss: 0.3461 - accuracy: 0.8789
2656/60000 [>.............................] - ETA: 3s - loss: 0.3524 - accuracy: 0.8746
3552/60000 [>.............................] - ETA: 3s - loss: 0.3447 - accuracy: 0.8753
4480/60000 [=>............................] - ETA: 3s - loss: 0.3478 - accuracy: 0.8734
5440/60000 [=>............................] - ETA: 3s - loss: 0.3538 - accuracy: 0.8711
6368/60000 [==>...........................] - ETA: 3s - loss: 0.3575 - accuracy: 0.8714
7296/60000 [==>..........