如何在Python中使用TensorFlow训练Fashion MNIST数据集的模型?


TensorFlow是谷歌提供的机器学习框架。它是一个开源框架,与Python结合使用,可以实现算法、深度学习应用等等。它用于研究和生产用途。

可以使用以下代码行在Windows上安装“tensorflow”包

pip install tensorflow

张量是TensorFlow中使用的数据结构。它有助于连接流图中的边。此流图称为“数据流图”。张量只不过是多维数组或列表。

“Fashion MNIST”数据集包含各种服装的图像。它包含超过7万件属于10个不同类别的服装的灰度图像。这些图像是低分辨率的(28 x 28像素)。

我们使用Google Colaboratory运行以下代码。Google Colab或Colaboratory有助于在浏览器上运行Python代码,无需任何配置,并且可以免费访问GPU(图形处理单元)。Colaboratory构建在Jupyter Notebook之上。以下是代码:

示例

print("The model is fit to the data")
model.fit(train_images, train_labels, epochs=15)

print("The accuracy is being computed")
test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)
print('\nThe test accuracy is :', test_acc)

代码来源https://tensorflowcn.cn/tutorials/keras/classification

输出

The model is fit to the data
Epoch 1/15
1875/1875 [==============================] - 4s 2ms/step - loss: 0.6337 - accuracy: 0.7799
Epoch 2/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.3806 - accuracy: 0.8622
Epoch 3/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.3469 - accuracy: 0.8738
Epoch 4/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.3131 - accuracy: 0.8853
Epoch 5/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2962 - accuracy: 0.8918
Epoch 6/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2875 - accuracy: 0.8935
Epoch 7/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2705 - accuracy: 0.8998
Epoch 8/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2569 - accuracy: 0.9023
Epoch 9/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2465 - accuracy: 0.9060
Epoch 10/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2440 - accuracy: 0.9088
Epoch 11/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2300 - accuracy: 0.9143
Epoch 12/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2255 - accuracy: 0.9152
Epoch 13/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2114 - accuracy: 0.9203
Epoch 14/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2101 - accuracy: 0.9211
Epoch 15/15
1875/1875 [==============================] - 3s 2ms/step - loss: 0.2057 - accuracy: 0.9224
The accuracy is being computed
313/313 - 0s - loss: 0.3528 - accuracy: 0.8806

The test accuracy is : 0.8805999755859375

解释

  • 模型的训练首先是馈送训练数据并构建模型。“train_images”和“train_labels”是输入数据的数组。

  • 模型学习将图像与其相应的标签映射。

  • “test_images”存储测试数据。

  • 一旦使用测试数据集,所做的预测就会与测试数据集中数据的实际标签相匹配。

  • 调用“model.fit”方法以便它可以将模型拟合到训练数据集。

  • “model.evaluate”函数给出与训练相关的准确性和损失。

更新于:2021年1月20日

96 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.