【问题标题】:Is there anyway to run tensorflow1 and tensorflow2 in one project?无论如何在一个项目中运行 tensorflow1 和 tensorflow2 吗?
【发布时间】:2021-06-14 18:46:01
【问题描述】:

我在一个 text2voice(印度尼西亚语)项目中。我为 text2phoneme 安装了 g2p-seq2seq,它包含来自 tf.contrib 的一些代码,因此只能使用 tf1 运行。

最近我有了一个新的 phoneme2voice 模型,它只支持 tf2。有没有办法让它们在一个项目中运行?

【问题讨论】:

    标签: python tensorflow pip tensorflow2.0


    【解决方案1】:

    使用tf.compat:

    compat.v1 和 compat.v2 子模块提供 v1 和 v2 API 的完整副本,以实现跨 TensorFlow 版本 1.x 和 2.x 的向后和向前兼容性。有关详细信息,请参阅迁移指南。

    您可以阅读migration guide,了解如何将 TF1 代码迁移到 TF2。

    【讨论】:

      【解决方案2】:

      这取决于您的最终目标。如果您希望能够在与在兼容模式下运行的 Tensorflow 1 模型相同的 python 实例或 tensorflow 实例中急切地运行 Tensorflow 2 模型,那么您将陷入困境。开启兼容模式或关闭 Eager Execution 后,将无法重新开启。

      我尝试为自己的项目这样做。我的快速解决方法是使用权重和偏差制作模型的临时无法训练副本,这些权重和偏差必须以某种格式(我建议pickle文件)提取并存储,可以在脚本中打开,从而制作临时模型而不会导致实例化tensorflow 1 或 tensorflow 2 在兼容模式下运行。

      最终,我不得不在 Tensorflow 2 中完全重建 Tensorflow 1.X 模型创建和训练脚本。

      如果您不需要在相同的脚本中运行它们并为 Tensorflow 2 模型急切执行,那么可能......可能只使用兼容模式。我知道听到这很糟糕,但如果我所说的条件适用于你,你真的无能为力。

      TLDR - 这完全取决于您想要或需要什么,但万无一失的方法只是在 Tensorflow 2 中完全重建模型。

      【讨论】:

        猜你喜欢
        • 2021-07-15
        • 1970-01-01
        • 2020-10-31
        • 2013-10-17
        • 2016-08-15
        • 2020-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多