lur*_*her 2 python-2.7 tensorflow
Tensorflow决定制作一个constant_initializer仅采用标量值的操作,这对我来说似乎很愚蠢.能够使用常量张量初始化变量会很有意义:
tf.get_variable('some_var', shape = [4,3], initializer=tf.constant_initializer(tf.constant([[0,0,0], [0,0,1],[0,1,0],[1,0,0]])))
Run Code Online (Sandbox Code Playgroud)
使用占位符和feed_dict将张量变量初始化为自定义值的唯一方法是什么?这迫使一个人在分开的地方进行声明和数据初始化,这很麻烦
该tf.constant_initializer()功能可能不接受tf.Tensor作为参数,但不接受作为参数.这意味着你可以写:tf.get_variable() tf.Tensorinitializer
v = tf.get_variable('some_var', initializer=tf.constant([[0, 0, 0],
[0, 0, 1],
[0, 1, 0],
[1, 0, 0]]))
Run Code Online (Sandbox Code Playgroud)
......这需要更少的角色!
tf.constant_initializer()不采取任意张量的原因是它被设计为初始化许多不同形状的变量,每个元素具有相同的常量值.例如,声明如下:
v = tf.get_variable('some_var', shape=[15, 37], initializer=tf.constant_initializer(
tf.constant([[0, 0, 0],
[0, 0, 1],
[0, 1, 0],
[1, 0, 0]])))
Run Code Online (Sandbox Code Playgroud)
...没有多大意义.可以说我们可以tf.constant_initializer()接受一个标量tf.Tensor,然后它会有类似的语义tf.fill(),但我们还没有任何需求.如果有用的话,请随意提出GitHub问题!