This official guide explains how to migrate TF 1 code to TF 2。
然而,这不是我想要的。
我希望我的代码在TF1和TF2上都能正常运行(并且我只希望使用非急切模式)。
另外,我慢慢地想使用一些新功能,但是以一种可选的方式。(例如,用户可以传递一些选项,比如--use-fancy-new-tf2-feature
,这只适用于tf2。这很好。)
也许一两年后,我会慢慢放弃对TF1的支持。但我确实需要这个过渡阶段,在这个阶段,两个TF版本都得到支持
我在迁移指南中看不到这个问题的答案。也许答案是,这根本没有“最佳实践”。虽然我认为其他更大的项目可能会想做类似的事情。或者答案可能是,这将是太多的努力,所以他们只是直接迁移
我也许可以这样做:
try:
# https://www.tensorflow.org/guide/migrate
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
except ImportError:
import tensorflow as tf
但是,这有一些缺点:
tf_import.py
,然后简单地到处做from tf_import import tf
。但这有点难看李>我也许可以这样做:
try:
# https://www.tensorflow.org/guide/migrate
import tensorflow.compat.v1 as tf1
tf1.disable_v2_behavior()
import tensorflow as tf2
except ImportError:
import tensorflow as tf1
tf2 = None
这可能更干净。但我不确定这是不是一条路。或者其他人是怎么做的
另外,我可以直接调用disable_v2_behavior
,而不是调用disable_eager_execution
。但这可能会使其他一些代码更难兼容TF1和TF2
(我正在为我们的项目RETURNN收集这些想法。)
目前没有回答
相关问题 更多 >
编程相关推荐