我正在使用keras-rl库中的D-DQN算法来训练我的神经网络。我使用
在数据生成过程中,根据D-DQN算法的指导,我必须首先使用模型预测Q值,然后使用这些值进行反向传播。如果GPU用于运行这些预测,则意味着它们会打断数据流程(我希望反向传播尽可能频繁地运行)。
是否有一种方法可以指定在哪个设备上运行特定操作?以一种方式,我可以在CPU上运行预测,在GPU上运行反向传播。
model.fit_generator()
函数在GPU上运行训练,以允许数据在进行反向传播时被发送到GPU。我怀疑数据的生成速度比GPU处理数据的速度慢。在数据生成过程中,根据D-DQN算法的指导,我必须首先使用模型预测Q值,然后使用这些值进行反向传播。如果GPU用于运行这些预测,则意味着它们会打断数据流程(我希望反向传播尽可能频繁地运行)。
是否有一种方法可以指定在哪个设备上运行特定操作?以一种方式,我可以在CPU上运行预测,在GPU上运行反向传播。