TensorFlow:为什么即使我在同一个地方运行了两次代码,但没有更新任何参数?;

TensorFlow:为什么即使我在同一个地方运行了两次代码,但没有更新任何参数?;,tensorflow,Tensorflow,我在mnist_interference.py中建立了一个CNN模型,我想每100步计算一次精度。但我发现它不能正常工作。经过长时间的调试,当我计算y的值时,我发现结果正在改变。起初,我认为这是因为当我计算y时,参数是自动更新的。但是没有!我发现参数没有改变。 那么我如何计算我的模型的准确性呢? 这是我的代码:这行代码 y=mnist\u推理。推理(x,真,正则化) 创建带有辍学的模型: def推断(输入张量、序列、正则化器): #代码片段 使用tf.variable_scope('layer

我在mnist_interference.py中建立了一个CNN模型,我想每100步计算一次精度。但我发现它不能正常工作。经过长时间的调试,当我计算y的值时,我发现结果正在改变。起初,我认为这是因为当我计算y时,参数是自动更新的。但是没有!我发现参数没有改变。 那么我如何计算我的模型的准确性呢? 这是我的代码:

这行代码

y=mnist\u推理。推理(x,真,正则化)
创建带有辍学的模型:

def推断(输入张量、序列、正则化器):
#代码片段
使用tf.variable_scope('layer5-fc1'):
fc1_weights=tf.get_变量(“权重”,[nodes,FC_SIZE],
初始值设定项=tf.截断的\u正常\u初始值设定项(stddev=0.1))
如果正则化器!=无:
tf.将_添加到_集合(“损失”,正则化器(fc1_权重))
fc1_biases=tf.get_变量('bias',[FC_SIZE],初始值设定项=tf.constant_初始值设定项(0.1))
fc1=tf.nn.relu(tf.matmul(重塑,fc1_权重)+fc1_偏差)
#允许辍学!
如果列车:
fc1=tf.nn.辍学率(fc1,0.5)
因此,您启用了辍学,这将导致您观察到的随机性

在计算精度时,需要禁用退出。较高级别有相应的参数(可以是张量)。

这行代码

y=mnist\u推理。推理(x,真,正则化)
创建带有辍学的模型:

def推断(输入张量、序列、正则化器):
#代码片段
使用tf.variable_scope('layer5-fc1'):
fc1_weights=tf.get_变量(“权重”,[nodes,FC_SIZE],
初始值设定项=tf.截断的\u正常\u初始值设定项(stddev=0.1))
如果正则化器!=无:
tf.将_添加到_集合(“损失”,正则化器(fc1_权重))
fc1_biases=tf.get_变量('bias',[FC_SIZE],初始值设定项=tf.constant_初始值设定项(0.1))
fc1=tf.nn.relu(tf.matmul(重塑,fc1_权重)+fc1_偏差)
#允许辍学!
如果列车:
fc1=tf.nn.辍学率(fc1,0.5)
因此,您启用了辍学,这将导致您观察到的随机性


在计算精度时,需要禁用退出。更高的级别有相应的参数(可以是张量)。

我试图自己解决这个问题,但我陷入了这个问题。有人能告诉我怎么解决这个问题吗?提前谢谢!ヾ(´—`)ノ我试图自己解决这个问题,但我陷入了这个问题。有人能告诉我怎么解决这个问题吗?提前谢谢!ヾ(´—`)ノ当我看到辍学者时,我明白了。谢谢!(づ ̄3. ̄)づ╭❤~我只检查了我的“火车”部件代码,完全忘记了dorpouts。再次感谢!我赢得了15个声誉,向您表示感谢^ ^我很高兴。这是我应该做的。当我看到辍学者时,我理解。非常感谢(づ ̄3. ̄)づ╭❤~我只检查了我的“火车”零件代码,完全忘记了dorpouts。再次感谢!我赢得了15个声誉,向您表示感谢^ ^我的荣幸。这是我应该做的。