2 votes

Activer les couches d'abandon pendant l'inférence en R

J'ai un modèle Keras en R et je cherche à effectuer un dropout de Monte Carlo pendant l'inférence. Je sais qu'il existe des méthodes en Python en activant training = TRUE, mais je ne trouve pas de fonctionnalité similaire en R.

Prenons un exemple de modèle Keras :

modèle <- keras_model_sequential() %>%
    layer_dense(10, activation = "relu") %>%
    layer_dropout(0.2)

(ce n'est pas mon modèle, le mien est inutilement complexe pour stackoverflow)

Dans ce cas, le dropout fonctionnera uniquement pendant l'entraînement, mais sera complètement ignoré lors des prédictions. Je veux que le dropout fonctionne pendant la prédiction, de sorte que chaque prédiction soit différente.

1voto

Quinten Points 454

Vous pouvez également utiliser training = TRUE dans keras R de cette manière :

library(keras)
dropout_1 <- layer_dropout(rate = 0.2) 

model <- keras_model_sequential() %>%
  layer_dense(10, activation = "relu") %>%
  dropout_1(training = TRUE)

Créé le 2022-09-01 avec reprex v2.0.2

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X