我想使用tf.get_variable
创建一个变量,它应该用numpy数组初始化。
据我所知,有两种方法可以创建变量tf.Variable
和tf.get_variable
。我们可以轻松地将初始值传递给tf.Variable
创建的变量。但似乎没有直接的方法对tf.get_variable
创建的那些做同样的事情。
我现在一直在做的是首先使用tf.convert_to_tensor
创建一个带有numpy数组的张量,然后将此张量作为initializer
传递给tf.get_variable
。但这对我来说似乎并不高效,因为我有一个非常大的数组作为初始值,然后我必须在我的图中将这个大数组存储两次。
因此,我想知道是否有更有效的方法可以做到这一点?使用Variable
是避免上面提到的效率问题的唯一方法吗?
答案 0 :(得分:5)
答案是使用TensorFlow的函数tf.constant_initializer(value)
(参见doc)。
虽然文档说只使用标量值,但您可以传递任何维度的numpy数组。