将 LSTM 模型从 cpu 转移到 GPU

Transfer an LSTM model from cpu to GPU

我有一个非常简单的 LSTM 模型,我在 tensorflow 中构建了它,它可以在 CPU 上运行。但是,我想在 GPU 上使用这个模型。对于 pytorch,我已经定义了设备等,但是对于 tensorflow,我不知道为什么它不能工作。你对我有什么建议吗?谢谢

model = Sequential()
model.add(LSTM(64, activation='relu', input_shape=(X_train.shape[1], X_train.shape[2]), return_sequences=True))
model.add(LSTM(32, activation='relu', return_sequences=False))
model.add(Dropout(0.1))
model.add(Dense(Y_train.shape[1], kernel_regularizer='l2'))
callback = tf.keras.callbacks.EarlyStopping(monitor='loss', patience=50)
opt = keras.optimizers.Adam(learning_rate=0.0008)
model.compile(optimizer=opt, loss='mse')
#model.summary()
history = model.fit(X_train, Y_train, epochs=2, batch_size=100, validation_data=(X_val, Y_val), callbacks=[callback],verbose=1, device).to(device)

对于 tensorflow,模型 运行 默认在 GPU 上进行计算。它在他们的官方文档中给出。

当您 运行 您的模型时是否出现某种错误?因为在 GPU 上 运行ning 而不是 CPU.

时,这应该可以正常工作