首页 > 解决方案 > ConvLSTM2d 在 colab GPU 上的运行速度比 CPU 慢

问题描述

我正在训练一个 convLSTM2d 模型,该模型在批量大小为 8 的 colabs GPU 上运行非常缓慢。

目前,每个 epoch 的 ETA 为 3 小时。我已经检查并启用了 GPU。我还仅使用 CPU 进行了比较,每个 epoch 的 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)

标签: tensorflowmachine-learningkerasgoogle-colaboratory

解决方案


推荐阅读