使用张量流1中的张量初始化张量

时间:2020-04-27 12:27:57

标签: tensorflow variables initialization

我想使用1初始化使用get_variable函数声明的变量。 我尝试了以下方法:

1。tf.get_variable(name = 'yd1', shape = shape_t, dtype = tf.float32,initializer = tf.ones())

收到错误-> TypeError:ones()至少接受1个参数(给定0个参数)

  1. tf.get_variable(name = 'yd1', shape = shape_t ,dtype = tf.float32,initializer = tf.ones(shape=shape_t))

收到错误-> ValueError(“如果初始值设定项是常量,则不要指定形状。”)

用1初始化变量的最佳方法是什么? tf.zeros_initializer可以用于初始化为0,但是在tf 1中没有等效项。

2 个答案:

答案 0 :(得分:0)

您需要使用tf.ones_initializer

tf.get_variable(name='yd1', shape=shape_t, dtype=tf.float32,
                initializer=tf.ones_initializer())

或者,如第二条错误消息所述,您可以使用常量值,但不要传递形状:

tf.get_variable(name='yd1', initializer=tf.ones(shape=shape_t, dtype=tf.float32))

答案 1 :(得分:0)

tf.ones_initializer在tf 1中不可用,它在tf 2中引入。

以下代码可以完成

tf.get_variable(name = 'yd1', shape = shape_t ,dtype = tf.float32,initializer = tf.constant_initializer(1))