如何有效地将初始值传递给get_variable

时间:2016-05-17 09:44:28

标签: python neural-network tensorflow

我想使用tf.get_variable创建一个变量,它应该用numpy数组初始化。

据我所知,有两种方法可以创建变量tf.Variabletf.get_variable。我们可以轻松地将初始值传递给tf.Variable创建的变量。但似乎没有直接的方法对tf.get_variable创建的那些做同样的事情。

我现在一直在做的是首先使用tf.convert_to_tensor创建一个带有numpy数组的张量,然后将此张量作为initializer传递给tf.get_variable。但这对我来说似乎并不高效,因为我有一个非常大的数组作为初始值,然后我必须在我的图中将这个大数组存储两次。

因此,我想知道是否有更有效的方法可以做到这一点?使用Variable是避免上面提到的效率问题的唯一方法吗?

1 个答案:

答案 0 :(得分:5)

答案是使用TensorFlow的函数tf.constant_initializer(value)(参见doc)。

虽然文档说只使用标量值,但您可以传递任何维度的numpy数组。