如何使用TensorFlow配置IMDB資料集以獲得良好的效能並建立模型?


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

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

pip install tensorflow

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

“IMDB”資料集包含超過5萬部電影的評論。此資料集通常與自然語言處理相關的操作一起使用。

我們使用Google Colaboratory執行以下程式碼。Google Colab或Colaboratory幫助在瀏覽器上執行Python程式碼,無需任何配置,並可免費訪問GPU(圖形處理單元)。Colaboratory構建在Jupyter Notebook之上。

以下是配置IMDB資料集以獲得良好的效能並建立模型的程式碼:

示例

AUTOTUNE = tf.data.experimental.AUTOTUNE

train_ds = train_ds.cache().prefetch(buffer_size=AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE)
test_ds = test_ds.cache().prefetch(buffer_size=AUTOTUNE)
embedding_dim = 16
model = tf.keras.Sequential([
  layers.Embedding(max_features + 1, embedding_dim),
  layers.Dropout(0.2),
  layers.GlobalAveragePooling1D(),
  layers.Dropout(0.2),
  layers.Dense(1)])

model.summary()

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

輸出

Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
embedding_1 (Embedding) (None, None, 16) 160016
_________________________________________________________________
dropout_2 (Dropout) (None, None, 16) 0
_________________________________________________________________
global_average_pooling1d_1 ( (None, 16) 0
_________________________________________________________________
dropout_3 (Dropout) (None, 16) 0
_________________________________________________________________
dense_1 (Dense) (None, 1) 17
=================================================================
Total params: 160,033
Trainable params: 160,033
Non-trainable params: 0
_________________________________________________________________

解釋

  • AUTOTUNE確保屬性的值在執行時動態調整。

  • 該模型使用“Keras”構建,它是一個順序模型,其中包含一個密集層。

  • 在控制檯上顯示所構建模型的摘要或元資料。

更新於:2021年1月19日

96 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告