簡體   English   中英

Tensorflow Keras:在 model.fit() 上進行訓練

[英]Tensorflow Keras: Training Holting on model.fit()

我是 tensorflow 和 python 的新手,所以我確信這只是一些愚蠢的事情。 但是,當我嘗試使用 model.fit() 訓練我的 model 時,經過隨機數量的訓練迭代后,它會凍結。 GPU 使用量歸零,並且沒有顯示錯誤消息來指示錯誤所在。 我正在嘗試訓練的 model 如下:

SizeOfInput = 50
VocabSize = 8000
EmbeddingSize = 200

model = Sequential()
model.add(Embedding(input_dim=VocabSize, output_dim=EmbeddingSize, input_length=SizeOfInput))
model.add(LSTM(256, input_shape=(SizeOfInput, EmbeddingSize), return_sequences=True))
model.add(Dropout(0.1))
model.add(LSTM(256))
model.add(Dropout(0.1))
model.add(Dense(VocabSize, activation='softmax'))

optimizer = tf.keras.optimizers.RMSprop(lr=1e-3, decay=1e-5)
model.compile(loss='categorical_crossentropy', optimizer=optimizer)

Tensorflow:2.2.0

Python:3.8

GPU:RTX2080Ti

我正在從一個更大的數據集中訓練 10000 個隨機采樣的每個時期 50 個整數的序列:

model.fit(x, y, batch_size=100, epochs=1)

我真的不知道問題是什么,如果您需要更多信息,請告訴我

1.首先請在Google Colab中嘗試您的代碼

2.嘗試使用另一個優化器:

keras.layers.BatchNormalization._USE_V2_BEHAVIOR = False

3.也許一些操作在 cpu 中運行,一些操作在 GPU 中運行。 為了防止它:

with tf.device("/device:GPU:0"):
    model.fit(x, y, batch_size=100, epochs=1)

3.更新最新版本

tf-nightly-gpu 
tf-gpu 2.1 cudn 10.2

4.測試這個:

print(tf.version.VERSION, tf.executing_eagerly(), keras.layers.BatchNormalization._USE_V2_BEHAVIOR)

keras.layers.BatchNormalization._USE_V2_BEHAVIOR = False

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM