如何在 Python 中使用 TensorFlow 構建 Fashion MNIST 資料集的模型?


Tensorflow 是 Google 提供的一個機器學習框架。它是一個開源框架,與 Python 結合使用以實現演算法、深度學習應用程式等等。它用於研究和生產目的。

可以使用以下程式碼行在 Windows 上安裝“tensorflow”包:

pip install tensorflow

張量是 TensorFlow 中使用的一種資料結構。它有助於連線流圖中的邊。此流圖稱為“資料流圖”。張量只不過是多維陣列或列表。

“Fashion MNIST”資料集包含各種服裝的影像。它包含超過 70,000 件屬於 10 個不同類別的服裝的灰度影像。這些影像是低解析度的(28 x 28 畫素)。我們正在使用 Google Colaboratory 來執行以下程式碼。

Google Colab 或 Colaboratory 幫助透過瀏覽器執行 Python 程式碼,無需任何配置即可免費訪問 GPU(圖形處理單元)。Colaboratory 建立在 Jupyter Notebook 之上。

以下是使用 Python 為 Fashion MNIST 資料集構建模型的程式碼片段:

示例

model = tf.keras.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(10)
])
print("Sequential model is being built")
model.compile(optimizer='adam',  loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),  metrics=['accuracy'])
print("Sequential model is being compiled")

程式碼來源https://www.tensorflow.org/tutorials/keras/classification

輸出

Sequential model is being built
Sequential model is being compiled

解釋

  • 模型中的層已配置。

  • 層是神經網路的基本構建塊,它從作為輸入資料提供給層的的資料中提取表示。

  • 許多簡單的層組合在一起。

  • 某些層還具有引數,這些引數在訓練階段調整以達到最佳值。

  • 第一層“Flatten”將影像從 2D 轉換為 1D 陣列。

  • 此層沒有任何需要學習的引數。

  • 畫素展平後,將構建兩個“Dense”層,其中每個密集層具有 128 個神經元。最後一層返回一個長度為 10 的 logits 陣列。

  • 每個神經元/節點包含一個值,該值是分數,表示影像屬於哪個類別。

  • 然後編譯模型。

更新於: 2021 年 1 月 20 日

134 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.