一般来说,我对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/

10-12 22:02