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

Lif*_*ang 4 python neural-network tensorflow

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

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

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

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

Oli*_*rot 5

答案是使用tf.constant_initializer(value)TensorFlow 的功能(参见doc).

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