一般来说,我对 Tensorflow 和 ML 还很陌生,所以我特此为一个(可能)微不足道的问题道歉。
我使用 dropout 技术来提高我的网络的学习率,它似乎工作得很好。然后,我想在一些数据上测试网络,看看它是否像这样工作:
def Ask(self, image):
return self.session.run(self.model, feed_dict = {self.inputPh: image})
显然,由于 dropout 仍然存在,每次都会产生不同的结果。我能想到的一种解决方案是创建两个单独的模型——一个用于训练,另一个用于网络的实际使用,但是,这种解决方案对我来说似乎不切实际。
解决这个问题的常用方法是什么?
原文由 G. Mesch 发布,翻译遵循 CC BY-SA 4.0 许可协议
最简单的方法是使用
placeholder_with_default
更改keep_prob
参数:这样当你训练时你可以像这样设置参数:
当您评估时,将使用默认值 1.0。