变量存储可变化的值,例如可用于存储可训练参数:权重和偏置。
要创建一个变量,可以使用tf.get_variable()
方法。
tf.get_variable(name = "", values, dtype, initializer)
参数
name = ""
: 变量名称values
: 指定变量形状dtype
: 数据类型,可选initializer
: 如何初始化张量,可选。如果指定了初始化器,则不需要包含“values”,因为使用的是“初始化器”的形状。
例如,下面的代码创建了一个形状是1×2的变量,变量中元素的默认值是随机值,变量命名为var。
import tensorflow as tf
# 创建一个变量
var = tf.get_variable("var", [1, 2])
print(var.shape)
输出
(1, 2)
把变量中的元素值初始化为0
import tensorflow 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)