1、文档地址

https://tensorflow.google.cn/tutorials/keras/classification

2、运行

报错

好嘛,那就装嘛

pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

速度倒是挺快的

然后是加载数据集

fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

这里注意了,这些地址都是外网的,你懂的

需要点手段

======================================================

探索一下图像本身

然后这是实际的效果

紧接着是构建网络了

输入层,28x28

然后隐藏层,使用relu作为激活函数,128是什么意思待查

最后是输出层,因为是分类问题,所以10代表的是1-10的分类,折痕简单

Dense是全连接层的意思,然后128是神经元数量;

==================================================

然后开始编译模型

==================================================

正式开始训练

能看到,十轮之后,损失已经到了0.2347,准确率已经到了0.91了

===========================================================

最后是评估模型

在测试集上可以达到0.87的准确率

================================================

https://tensorflow.google.cn/tutorials/keras/classification

更多可以查看官方例子

===============================================

# TensorFlow and tf.keras
import tensorflow as tf
from tensorflow import keras
# Helper libraries
import numpy as np
import matplotlib.pyplot as plt
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat','Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
# 打开第一张训练用并展示,实际程序中不需要这一段
# plt.figure()
# plt.imshow(train_images[0])
# plt.colorbar()
# plt.grid(False)
# plt.show()
# 正规化图像到1-255这个范围内去,这个需要;
train_images = train_images / 255.0
test_images = test_images / 255.0
# 打开前25个图像并展示,实际当中也不需要这一段
# plt.figure(figsize=(10,10))
# for i in range(25):
# plt.subplot(5,5,i+1)
# plt.xticks([])
# plt.yticks([])
# plt.grid(False)
# plt.imshow(train_images[i], cmap=plt.cm.binary)
# plt.xlabel(class_names[train_labels[i]])
# plt.show()
# 设置神经网络
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10)
])
# 编译模型
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
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)
print(tf.__version__)