tensorflow keras无法在预测阶段退出(设置学习阶段无效)

ablanch5

在我的神经网络中,我试图在预测阶段保持辍学状态。我正在尝试通过在Tensorflow 2.0 RC中使用tensorflow.keras.backend.set_learning_phase(1)来实现此目的。

问题出在我调用model.compile时,它似乎在预测阶段关闭了辍学。

以下代码显示了我如何设置学习阶段。在编译模型之前,预测是半随机的。编译模型后,即使学习阶段仍为1,预测也不再是半随机的

import tensorflow as tf
from tensorflow import keras
import tensorflow.keras.backend as K
from tensorflow.keras import layers

# load boston housing data
from tensorflow.keras.datasets import boston_housing
(x_train, y_train), (x_test, y_test) = boston_housing.load_data()

# define model
K.clear_session()
K.set_learning_phase(1)
x = keras.Input(shape=(13,))
y = layers.Dense(10, activation='relu')(x)
y = layers.Dropout(0.5)(y)
y = layers.Dense(1)(y)

model = keras.Model(inputs=x,outputs=y)

# these results will have randomness
model.predict(x_test[0:1])
model.predict(x_test[0:1])
model.predict(x_test[0:1])

model.compile(optimizer="adam", loss='mse')


# now that model is compiled randomness is lost
model.predict(x_test[0:1])
model.predict(x_test[0:1])
model.predict(x_test[0:1])

print(K.learning_phase()) # == 1

在过去的tensorflow版本中这对我有用

几何

Dropout图层采用一个training参数来控制其是否处于训练模式。查看github上的代码,在没有training参数的情况下,使用已明确设置的学习阶段。

但是,也许这种行为已经有所改变。这个github线程建议显式设置训练参数,例如,如一位评论者所述

import tensorflow.keras

inputs = tensorflow.keras.Input(shape=(10,))
x = tensorflow.keras.layers.Dense(3)(inputs)
outputs = tensorflow.keras.layers.Dropout(0.5)(x, training=True)

model = tensorflow.keras.Model(inputs, outputs)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Tensorflow和Keras预测阈值

来自分类Dev

Tensorflow 2.0:从tensorflow keras导入

来自分类Dev

Keras / Tensorflow预测:数组形状错误

来自分类Dev

Tensorflow收敛但预测错误

来自分类Dev

Tensorflow:获得预测

来自分类Dev

Tensorflow:在 GPU 上运行训练阶段,在 CPU 上运行测试阶段

来自分类Dev

无法在 Java API 中运行 Tensorflow 预测

来自分类Dev

Tensorflow:无效的计算

来自分类Dev

Keras Tensorflow多个错误

来自分类Dev

tensorflow keras 评估函数

来自分类Dev

tensorflow,tensorflow-gpu 无法识别 GPU

来自分类Dev

使用 GPU 设置 tensorflow

来自分类Dev

TensorFlow网络无法训练?

来自分类Dev

TensorFlow无法捕获GPU

来自分类Dev

Tensorflow无法保存模型

来自分类Dev

Tensorflow无法评估梯度

来自分类常见问题

使用TensorFlow模型进行预测

来自分类Dev

Tensorflow预测总是相同的结果

来自分类Dev

TensorFlow LSTM预测相同的值

来自分类Dev

Tensorflow DNNClassifier返回错误的预测

来自分类Dev

Tensorflow,预测值的概率(ROI)

来自分类Dev

使用 TensorFlow 预测新数据

来自分类Dev

如何在Tensorflow-keras中使用nlp的预测?

来自分类Dev

在 TensorFlow Lite 中运行 Keras 模型时的不同预测

来自分类Dev

无法从 Python 中的 Tensorflow 库导入 Keras

来自分类Dev

用于图像增强的 Tensorflow 使 keras 无法工作

来自分类Dev

在Tensorflow Keras中找到MSLE

来自分类Dev

Tensorflow Keras形状不匹配

来自分类Dev

Tensorflow Keras-UnknownError:UnidentifiedImageError