变量存储可变化的值,例如可用于存储可训练参数:权重和偏置。
要创建一个变量,可以使用tf.get_variable()
方法。
tf.get_variable(name = "", values, dtype, initializer)
参数
name = ""
: 变量名称values
: 指定变量形状dtype
: 数据类型,可选initializer
: 如何初始化张量,可选。如果指定了初始化器,则不需要包含“values”,因为使用的是“初始化器”的形状。
例如,下面的代码创建了一个形状是1×2的变量,变量中元素的默认值是随机值,变量命名为var。
import tensorflow.compat.v1 as tf # 创建一个变量 var = tf.get_variable("var", [1, 2]) print(var.shape)
输出
(1, 2)
import tensorflow.compat.v1 as tf var_init_1 = tf.get_variable("var_init_1", [1, 2], dtype=tf.int32, initializer=tf.zeros_initializer) print(var_init_1.shape)
输出
(1, 2)
可以使用张量常量初始化变量。
# 创建一个2x2矩阵常量 tensor_const = tf.constant([[10, 20],[30, 40]]) # 使用矩阵常量初始化变量 var_init_2 = tf.get_variable("var_init_2", dtype=tf.int32, initializer=tensor_const) print(var_init_2.shape)
输出
(2, 2)