【发布时间】:2016-05-17 09:44:27
【问题描述】:
我想使用tf.get_variable 创建一个变量,它应该用一个numpy数组初始化。
据我所知,创建变量有两种方法,tf.Variable 和tf.get_variable。我们可以轻松地将初始值传递给tf.Variable 创建的变量。但似乎没有直接的方法可以对tf.get_variable 创建的人做同样的事情。
我现在一直在做的是首先使用tf.convert_to_tensor创建一个带有numpy数组的张量,然后将此张量作为initializer传递给tf.get_variable。但这对我来说似乎并不高效,因为我有一个非常大的数组作为初始值,所以我必须在我的图表中存储这个大数组两次。
因此,我想知道是否有一些更有效的方法可以做到这一点?使用Variable 是避免我上面提到的效率问题的唯一方法吗?
【问题讨论】:
-
您是否尝试过使用
tf.constant_initializer()? (doc) 有了它,您可以将 numpy 数组作为参数传递,并将其复制到张量。 -
不知道,谢谢。但这很奇怪,在
tf.constant_initializer的文档中,它说参数“值:Python 标量。初始化变量的所有元素都将设置为此值”。但是当传递一个 numpy 数组而不是一个标量给它时,它确实有效。你知道原因吗? -
不,我认为这是文档中的错字。
标签: python neural-network tensorflow