如何在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://www.tensorflow.org/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.