是否可以在一个 GPU 上同时训练 pytorch 和 tensorflow 模型?

J.D*_*Doe 5 tensorflow pytorch tensorflow-gpu

我有一个pytorch模型和tensorflow模式,我想他们在一起训练的一个GPU,以下过程波纹管:input --> pytorch model--> output_pytorch --> tensorflow model --> output_tensorflow --> pytorch model

有可能做到这一点吗?如果答案是肯定的,我会遇到什么问题吗?

提前致谢。

Ami*_*ein 2

我还没有这样做,但这是可能的,但实施起来可能会有点困难。您可以将每个网络视为一个函数,您希望 - 在某种意义上 - 组合这些函数来形成您的网络,为此,您可以通过将一个网络的结果提供给另一个网络来计算最终函数,然后使用链规则计算导数(使用两个包的符号微分)。

我认为实现这一点的一个好方法可能是将 TF 模型包装为 PyTorchFunction并用于tf.gradients计算向后传递。进行梯度更新确实很困难(因为 TF 的计算图中存在一些变量),您可以将 TF 变量转换为 PyTorch 将Variable它们转换为placeholdeTF 计算图中的 s,使用 PyTorch 机制将它们输入feed_dict并更新它们,但我认为这真的是很难做到,相反,如果您在函数的后向方法中进行更新,您可能能够完成这项工作(它确实很难看,但可能会完成这项工作)。