Tensorflow Keras:在model.fit()上训练钻孔

2024-10-02 02:39:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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:3.8

GPU:RTX2080Ti

我正在对10000个随机抽样的序列进行训练,每个历元50个整数,来自一个更大的数据集:

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

我真的不知道问题是什么,如果你需要更多信息,请告诉我


Tags: addinputmodelgputensorflow错误fitdropout
1条回答
网友
1楼 · 发布于 2024-10-02 02:39:35

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

相关问题 更多 >

    热门问题