为什么 TensorFlow 在 TensorBoard 可视化中为我的变量创建额外的命名空间?
Why does TensorFlow create extra name spaces for my variables in the TensorBoard visualization?
我创建变量如下:
x = tf.placeholder(tf.float32, shape=[None, D], name='x-input') # M x D
# Variables Layer1
#std = 1.5*np.pi
std = 0.1
W1 = tf.Variable( tf.truncated_normal([D,D1], mean=0.0, stddev=std, name='W1') ) # (D x D1)
S1 = tf.Variable(tf.constant(100.0, shape=[1], name='S1')) # (1 x 1)
C1 = tf.Variable( tf.truncated_normal([D1,1], mean=0.0, stddev=0.1, name='C1') ) # (D1 x 1)
但出于某种原因,tensorflow 在我的可视化中添加了额外的变量块:
它为什么这样做,我该如何阻止它?
您在 TF
中使用的名称不正确
W1 = tf.Variable( tf.truncated_normal([D,D1], mean=0.0, stddev=std, name='W1') )
\----------------------------------------------------------/
initializer
\-------------------------------------------------------------------------/
actual variable
因此您的代码创建了未命名变量,以及名称初始化器op W1
。这就是为什么你在名为 W1
的图表中看到的不是你的 W1
而是 重命名的初始值设定项 ,而你的 W1
应该被称为Variable
(因为这是 TF 分配给未命名操作的默认名称)。应该是
W1 = tf.Variable( tf.truncated_normal([D,D1], mean=0.0, stddev=std), name='W1' )
这将为实际变量创建名为 W1
的节点,并将附加一个小的初始化节点(用于为它播种随机值)。
我创建变量如下:
x = tf.placeholder(tf.float32, shape=[None, D], name='x-input') # M x D
# Variables Layer1
#std = 1.5*np.pi
std = 0.1
W1 = tf.Variable( tf.truncated_normal([D,D1], mean=0.0, stddev=std, name='W1') ) # (D x D1)
S1 = tf.Variable(tf.constant(100.0, shape=[1], name='S1')) # (1 x 1)
C1 = tf.Variable( tf.truncated_normal([D1,1], mean=0.0, stddev=0.1, name='C1') ) # (D1 x 1)
但出于某种原因,tensorflow 在我的可视化中添加了额外的变量块:
它为什么这样做,我该如何阻止它?
您在 TF
中使用的名称不正确W1 = tf.Variable( tf.truncated_normal([D,D1], mean=0.0, stddev=std, name='W1') )
\----------------------------------------------------------/
initializer
\-------------------------------------------------------------------------/
actual variable
因此您的代码创建了未命名变量,以及名称初始化器op W1
。这就是为什么你在名为 W1
的图表中看到的不是你的 W1
而是 重命名的初始值设定项 ,而你的 W1
应该被称为Variable
(因为这是 TF 分配给未命名操作的默认名称)。应该是
W1 = tf.Variable( tf.truncated_normal([D,D1], mean=0.0, stddev=std), name='W1' )
这将为实际变量创建名为 W1
的节点,并将附加一个小的初始化节点(用于为它播种随机值)。