tensorflow 声明和初始化可变张量

示例

当值需要在会话中更新时,使用可变张量。这是在创建神经网络时将用于权重矩阵的张量类型,因为这些值将在训练模型时更新。

可以使用或函数声明可变张量。建议使用,因为它提供了更大的灵活性,例如:tf.Variable()tf.get_variable()tf.get_variable

# Declare a 2 by 3 tensor populated by ones

a = tf.Variable(tf.ones([2,3], dtype=tf.float32))

a = tf.get_variable('a', shape=[2, 3], initializer=tf.constant_initializer(1))

需要注意的是,声明可变张量不会自动初始化值。使用以下其中一种启动会话时,需要显式初始化这些值:

  • tf.global_variables_initializer().run()

  • session.run(tf.global_variables_initializer())

下面的示例显示了声明和初始化可变张量的完整过程。

# Build a graph

graph = tf.Graph()

with graph.as_default():

    a = tf.get_variable('a', shape=[2,3], initializer=tf.constant_initializer(1), dtype=tf.float32))     # Create a variable tensor

# Create a session, and run the graph

with tf.Session(graph=graph) as session:

    tf.global_variables_initializer().run()  # Initialize values of all variable tensors

    output_a = session.run(a)            # Return the value of the variable tensor

    print(output_a)                      # Print this value

打印出以下内容:

[[ 1.  1.  1.]

 [ 1.  1.  1.]]

           

以上是 tensorflow 声明和初始化可变张量 的全部内容, 来源链接: utcz.com/z/345205.html

回到顶部