首页 > 解决方案 > 使用 Tensorflow keras.Sequential() 在预测期间激活 dropout

问题描述

我使用带有 Keras 和Sequential()API 的 Tensorflow 2.0 来创建一个简单的模型:

def create_model():
    model = keras.Sequential([
        keras.layers.Flatten(input_shape=(8,8)),
        keras.layers.Dense(32, activation="relu"),
        keras.layers.Dropout(DROPOUT_RATE),
        keras.layers.Dense(16, activation="relu"),
        keras.layers.Dropout(DROPOUT_RATE),
        keras.layers.Dense(2, activation="softmax")
    ])

    model.compile(optimizer="adam",
                  loss="sparse_categorical_crossentropy",
                  metrics=["accuracy"])
    return model

my_model = create_model()

如何在预测期间激活辍学率?在预测过程中是否可以使用不同的辍学率?

标签: pythonkerastensorflow2.0

解决方案


在 TF 2 中,您可能使用的是 Eager 模式,对吧?

您可以简单地:

outputs = my_model(numpy_inputs, training=True)
#maybe you need also:
outputs = outputs.numpy() 

至于更改费率,您需要关注@sxeros 链接。


推荐阅读