将 TensorFlow 模型转换为 PyTorch 的挑战

如何升级和优化旧版 AI/ML 模型《将 TensorFlow 模型转换为 PyTorch 的挑战》一文首先出现在 Towards Data Science 上。

来源:走向数据科学

为了管理读者的期望并防止失望,我们首先要声明的是,这篇文章并没有为标题中描述的问题提供完全令人满意的解决方案。我们将提出并评估两种将 TensorFlow 模型自动转换为 PyTorch 的可能方案 - 第一个基于开放神经网络交换 (ONNX) 格式和库,第二个使用 Keras3 API。然而,正如我们将看到的,每种方法都有其自身的挑战和局限性。据作者所知,在撰写本文时,还没有针对此问题的公开可用的万无一失的解决方案。

不是 开放神经网络交换 Keras3

非常感谢 Rom Maltser 对本文的贡献。

罗姆·马尔策

TensorFlow 的衰落

多年来,计算机科学领域一直存在“宗教战争” ——程序员和工程师之间关于“最佳”工具、语言和方法的激烈争论,有时甚至是敌对的争论。直到几年前,PyTorch 和 TensorFlow 这两个著名的开源深度学习框架之间的宗教战争才愈演愈烈。 TensorFlow 的支持者会强调其快速图形执行模式,而 PyTorch 阵营的支持者会强调其“Pythonic”性质和易用性。

然而,如今,PyTorch 的活动量远远超过了 TensorFlow。接受 PyTorch 而不是 TensorFlow 的大型科技公司数量、HuggingFace 模型存储库中每个框架的模型数量以及每个框架中的创新和优化量都证明了这一点。简而言之,TensorFlow 是它以前的外壳。战争结束了,PyTorch 成为最终的赢家。有关 Pytorch-TensorFlow 战争的简史以及 TensorFlow 衰落的原因,请参阅潘兴汉的帖子:TensorFlow 已死。 PyTorch 获胜。

HuggingFace 的模型 潘兴瀚的 TensorFlow 已死。 PyTorch 获胜

选项 1:不执行任何操作。

减少维护 onnx