如何在tensorflow2.0中按名称查找变量

时间:2019-05-18 17:12:14

标签: tensorflow2.0

似乎tensorflow 2.0删除了功能tf.global_variables()。我的问题是:如何在模型中找到具有给定名称的变量? tensorflow 2.0是否提供执行此功能的功能?

当前,我们的培训框架无法访问用于构建模型的代码。它使用tf.global_variables()在加载的模型中查找各种变量,以推入和拉出训练数据或结果。 tensorflow 2.0是否能够支持这种框架?

1 个答案:

答案 0 :(得分:1)

  

tensorflow 2.0是否能够支持这种框架?

不,不会。

Tensorflow 2.0的第一个设计选择是完全删除全局集合(例如tf.global_variables()),而采用以Python为中心的方法来使用带有自己变量的Python对象。

现在推荐的做法是使用Python对象来构建Keras模型并在代码中的任何地方使用相同的模型。 您可以通过访问model.trainable_variablesmodel.non_trainable_weights来访问对象的可训练变量和不可训练变量。

简而言之,您必须开始将代码库迁移到面向对象的方法,因为Tensorflow的1.x方法(依赖于全局集合,通过名称获取变量等)在以下版本中不可用。 2.0。