tensorflow:请使用`rate`而不是`keep_prob`。费率应设置为“费率= 1-keep_prob”

时间:2019-03-19 06:58:16

标签: python tensorflow keras deep-learning

当我使用Keras定义模型时,大多数时候都会收到此警告。它似乎以某种方式来自张量流:

WARNING:tensorflow:From C:\Users\lenik\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\backend\tensorflow_backend.py:3445: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.

这个警告值得担心吗? 如果是,我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

Tensorflow告诉您参数keep_prob已过时,并且已由参数rate代替。

现在,要实现与现在相同的行为并消除警告,您需要将keep_prob参数的每次出现都替换为rate参数,并传递值1-keep_prob

答案 1 :(得分:1)

此折旧警告是由于tf.keras.layers.Dropout中的Dropout层引起的。
为避免此警告,您需要在Dropout中将rate=明确指定为Dropout(rate=0.2)

以前是keep_prob,现在已弃用到rate,即rate = 1-keep_prob。
有关更多信息,您可以查看此张量流documentation