在TensorFlow和PyTorch中共同训练模型

6
我有两个模型,一个是在TensorFlow 2.0中的模型A,另一个是在PyTorch 1.3中的模型B。模型A的输出是模型B的输入。我想要进行端到端的训练。
如果不将其中一个模型移植到另一个框架中,是否有可能实现这个训练呢?

3
我没有任何解决方案,但如果您使用的是GPU,您应该先加载Pytorch模型,因为Tensorflow往往会占用GPU中所有可用的内存,这将不留给Pytorch。 - Joseph Budin
4
除此之外,我有一点偏见的看法是,即使你所要求的是可能的,如果你将其中任意一个模型转换到另一个框架中进行翻译,你也会节省更少的时间,从而在tensorflow或Pytorch中运行两个网络。 - Joseph Budin
训练必须使用其中一个框架完成,因此您必须转换其中一个模型。也许像 ONNX 这样的独立格式可以帮助解决问题 (https://github.com/onnx/tutorials/blob/master/tutorials/PytorchTensorflowMnist.ipynb)。 - marco romelli
1个回答

1
我相信在Tensorflow和Pytorch中共同训练模型是不可能的。这两个框架使用非常不同的后台架构来计算损失和进行反向传播,因此它们对于训练深度学习模型是不兼容的。
更详细的问题应该是您在问题中使用了哪个Tensorflow模型和哪个Pytorch模型。随着深度学习社区的发展,越来越多的基本深度学习算法有各种版本的实现,并支持Pytorch和Tensorflow。很少会出现只能在Pytorch或Tensorflow中找到唯一实现的情况。只需尝试找到相应的实现并将它们组合在一起即可!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接