记
人工神经网络是深度学习的核心。适合处理大型和高度复杂的机器学习任务。本章介绍了使用Keras实现神经网络。
1.导入TensorFlow,下载数据集
import tensorflow as tf
from tensorflow import keras
fashion_mnist = keras.datasets.fashion_mnist
(X_train_full, y_train_full), (X_test, y_test) = fashion_mnist.load_data()
数据集示例:
2.使用顺序API创建模型
model = keras.models.Sequential()
model.add(keras.layers.Flatten(input_shape=[28, 28]))
model.add(keras.layers.Dense(300, activation="relu"))
model.add(keras.layers.Dense(100, activation="relu"))
model.add(keras.layers.Dense(10, activation="softmax"))
summary()方法显示模型的所有层
3.编译模型
model.compile(loss="sparse_categorical_crossentropy",
optimizer="sgd",
metrics=["accuracy"])
4.训练和评估模型
history = model.fit(X_train, y_train, epochs=30,
validation_data=(X_valid, y_valid))
最后验证准确率达到了89.04%
5.使用模型进行预测
X_new = X_test[:3]
y_proba = model.predict(X_new)
y_proba.round(2)
对于第一个图像,模型估计是第9类(脚踝靴)的概率为95%
plt.figure(figsize=(7.2, 2.4))
for index, image in enumerate(X_new):
plt.subplot(1, 3, index + 1)
plt.imshow(image, cmap="binary", interpolation="nearest")
plt.axis('off')
plt.title(class_names[y_test[index]], fontsize=12)
plt.subplots_adjust(wspace=0.2, hspace=0.5)
save_fig('fashion_mnist_images_plot', tight_layout=False)
plt.show()
正确分类前三个图像