一般来说,我对Tensorflow和ML还是比较陌生,因此我对一个(可能)琐碎的问题表示歉意。
我使用辍学技术来提高网络的学习速度,并且看起来工作得很好。然后,我想在一些数据上测试网络,看它是否像这样工作:
def Ask(self, image):
return self.session.run(self.model, feed_dict = {self.inputPh: image})
显然,由于辍学仍然存在,每次产生不同的结果。我能想到的一种解决方案是创建两个单独的模型-一个用于训练,另一个用于实际以后使用网络,但是,这种解决方案对我来说似乎不切实际。
解决此问题的常用方法是什么?
最佳答案
最简单的方法是使用 keep_prob
更改placeholder_with_default
参数:
prob = tf.placeholder_with_default(1.0, shape=())
layer = tf.nn.dropout(layer, prob)
这样,当您训练时,可以像这样设置参数:
sess.run(train_step, feed_dict={prob: 0.5})
评估时使用默认值1.0。
关于python - 如何在Tensorflow中关闭辍学测试?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44971349/