替代 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
我正在尝试将我的 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