tf.get_变量()不返回更改后的重量

2024-04-29 21:00:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个程序,我在Tensorflow中建立了一个有卷积层的神经网络,我试着周期性地输出滤波器权重作为图像。我知道我的网络正在根据我在Tensorboard中跟踪的性能进行正确更新(我已经通过直接打印来验证权重是否在变化),但是权重图像始终是相同的(似乎是随机的)值。我使用初始化层

self.inputs = tf.placeholder(shape=[None, s_size], dtype=tf.float32)
self.image_in = tf.reshape(self.inputs, shape=[-1, int(input_pixels / view_width), view_width, 1])
self.conv1 = slim.conv2d(activation_fn=tf.nn.elu, inputs=self.image_in, num_outputs=16, kernel_size=[8, 8], stride=[4, 4], padding='VALID', scope="conv1")
self.conv2 = slim.conv2d(activation_fn=tf.nn.elu,  inputs=self.conv1, num_outputs=32, kernel_size=[4, 4], stride=[2, 2], padding='VALID', scope="conv2")
hidden = slim.fully_connected(slim.flatten(self.conv2), 256, activation_fn=tf.nn.elu)

一旦训练开始,每100次迭代,我使用提供的函数here

^{pr2}$

既然过滤器中的权重是正确更新的,那么为什么权重将由tf.get_变量()也不更新?在


Tags: 图像imageselfsizetfnnactivationelu