替代 tf.compat.v1

Alternative to tf.compat.v1

我正在尝试将我的 tf1 代码迁移到 tf2。

为此,我更改了以下功能:

tf.losses.softmax_cross_entropy()进入tf.compat.v1.losses.softmax_cross_entropy() tf.train.MomentumOptimizer()进入tf.compat.v1.train.MomentumOptimizer() tf.train.get_or_create_global_step() 进入 tf.compat.v1.train.get_or_create_global_step()

但是,我想直接在 tf2 中重写我的代码而不使用 tf.compat.v1

怎么样?

要将 TF1 代码转换为 TF2 代码,您可以使用 TF2 中的 tf.keras api 轻松完成。比如你提供的功能。

tf.losses.softmax_cross_entropy()tf.keras.losses.CategoricalCrossentropy(from_logits=True) 这里的from_logits参数指定了y_pred是否期望是logits张量。

tf.train.MomentumOptimizer()tf.keras.optimizers.SGD(momentum=...) 通过提供 momentum 参数。

至于最终功能,它仍在 TF2.0 文档中使用,因此可能在 2.0 中没有等效版本。

您可以从TF2.0 网站上查看本指南,这将为您提供很好的参考。 Migrate your TensorFlow 1 code to TensorFlow 2