Tensorflow Keras。在model.fit()上训练Holting

问题描述 投票:1回答:1

我是tensorflow和python的新手,所以我确信这只是一些愚蠢的事情。但是当我尝试用model.fit()来训练我的模型时,在随机的训练迭代次数之后,它就冻结了。GPU 使用率为零,也没有显示错误信息来说明错误所在。我试图训练的模型如下。

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: 2.2.0 3.8

GPU:RTX2080Ti RTX2080Ti

我正在对10000个随机采样序列进行训练,每个时代50个整数,来自一个更大的数据集。

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

我真的不知道问题出在哪里,如果你需要更多信息,请告诉我。

python tensorflow keras tensorflow2.0 freeze
1个回答
0
投票

1.首先请在 谷歌合作

2.尝试使用其他优化器。

keras.layers.BatchNormalization._USE_V2_BEHAVIOR = False

3.可能有些Ops在cpu中运行,有些Ops在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
© www.soinside.com 2019 - 2024. All rights reserved.