我正在训练一个convLSTM2d模型,该模型在批量为8的colabs GPU上运行非常慢。
当前,每个时期的预计到达时间为3小时。我已检查并启用了GPU。我还仅使用CPU进行了比较,每个时期的ETA减少到1.5小时。这可能是什么原因? convLSTM2d在Cuda上不可用吗?这是我的下面的模型,谢谢您的指导。
conv_2d = tf.keras.Sequential([
tf.keras.layers.ConvLSTM2D(32, kernel_size=(5,1), padding='same',
return_sequences=False, input_shape=[30, 14, 1, 1]),
tf.keras.layers.Flatten(),
tf.keras.layers.RepeatVector(look_forward),
tf.keras.layers.Reshape((look_forward, 14, 1, 32)),
tf.keras.layers.ConvLSTM2D(32, kernel_size=(5,1), padding='same',
return_sequences=True),
tf.keras.layers.TimeDistributed(tf.keras.layers.Dense(1, activation='relu'))
])
conv_2d.compile(loss=tf.keras.losses.MeanAbsoluteError(),
optimizer=tf.optimizers.Adam(clipnorm=1.0),
metrics=[tf.metrics.MeanAbsoluteError()])
history = conv_2d.fit(train, epochs=MAX_EPOCHS,
validation_data=val,
steps_per_epoch= STEPS_PER_EPOCH,
validation_steps=VALIDATION_STEPS)