tf.global_variables() 是 TensorFlow 1.x 中的一个函数,它返回图中所有的全局变量。在 TensorFlow 2.x 中,这个函数已经被移除了,取而代之的是 tf.compat.v1.global_variables()。
然而,在 TensorFlow 2.x 中,更推荐使用 tf.Variable 直接创建变量,并通过模型对象的 trainable_variables 和 non_trainable_variables 属性来访问模型中的变量。
例如,以下代码展示了如何在 TensorFlow 2.x 中创建和访问变量:
import tensorflow as tf
# 创建一个变量
v = tf.Variable([1, 2], name="my_variable")
# 创建一个模型,并将变量添加到模型中
model = tf.keras.Model()
model.add(tf.keras.layers.Dense(10, input_shape=(32,), kernel_initializer='zeros'))
model.add(tf.keras.layers.Dense(1, kernel_initializer='zeros'))
model.trainable_variables = [v] # 将自定义变量添加到可训练参数中
# 访问模型中的变量
for var in model.trainable_variables:
print(var)
在这个例子中,我们首先创建了一个名为 “my_variable” 的变量 v,然后创建了一个模型,并将变量 v 添加到模型的可训练变量列表中。最后,我们使用 model.trainable_variables 访问了模型中的所有可训练变量,并打印了它们的值。