web-dev-qa-db-fra.com

Quelle est l'utilisation de verbose dans Keras lors de la validation du modèle?

J'utilise le modèle LSTM pour la première fois. Voici mon modèle:

opt = Adam(0.002)
inp = Input(...)
print(inp)
x = Embedding(....)(inp)
x = LSTM(...)(x)
x = BatchNormalization()(x)
pred = Dense(5,activation='softmax')(x)

model = Model(inp,pred)
model.compile(....)

idx = np.random.permutation(X_train.shape[0])
model.fit(X_train[idx], y_train[idx], nb_Epoch=1, batch_size=128, verbose=1)

Quelle est l'utilisation de verbose pendant la formation du modèle?

43
rakesh

Consultez la documentation de model.fit ici .

En réglant 0, 1 ou 2, vous dites simplement comment vous voulez "voir" les progrès de l'entraînement pour chaque époque.

verbose=0 ne vous montrera rien (silence)

verbose=1 vous montrera une barre de progression animée comme ceci:

progres_bar

verbose=2 mentionnera simplement le nombre d'Epoch comme ceci:

enter image description here

98
Ankit

Pour verbose> 0, fit journaux de méthode:

  • perte: valeur de la fonction de perte pour vos données d'entraînement
  • acc: valeur de précision pour vos données d'entraînement.

Remarque: Si des mécanismes de régularisation sont utilisés, ils sont activés pour éviter les surajustements.

si les arguments validation_data ou validation_split ne sont pas vides, la méthode fit enregistre:

  • val_loss: valeur de la fonction de perte pour vos données de validation
  • val_acc: valeur de précision pour vos données de validation

Remarque: les mécanismes de régularisation sont désactivés au moment des tests car nous utilisons toutes les fonctionnalités du réseau.

Par exemple, utiliser verbose pendant l'apprentissage du modèle aide à détecter les surajustements se produisant si votre acc continue de s'améliorer pendant que votre val_acc s'aggrave.

5
Hugo Bevilacqua

verbose: Integer. 0, 1 ou 2. Mode verbosité.

Verbose = 0 (silencieux)

Verbose = 1 (barre de progression)

Train on 186219 samples, validate on 20691 samples
Epoch 1/2
186219/186219 [==============================] - 85s 455us/step - loss: 0.5815 - acc: 
0.7728 - val_loss: 0.4917 - val_acc: 0.8029
Train on 186219 samples, validate on 20691 samples
Epoch 2/2
186219/186219 [==============================] - 84s 451us/step - loss: 0.4921 - acc: 
0.8071 - val_loss: 0.4617 - val_acc: 0.8168

Verbose = 2 (une ligne par époque)

Train on 186219 samples, validate on 20691 samples
Epoch 1/1
 - 88s - loss: 0.5746 - acc: 0.7753 - val_loss: 0.4816 - val_acc: 0.8075
Train on 186219 samples, validate on 20691 samples
Epoch 1/1
 - 88s - loss: 0.4880 - acc: 0.8076 - val_loss: 0.5199 - val_acc: 0.8046
4

Par défaut, verbose = 1,

verbose = 1, qui comprend à la fois une barre de progression et une ligne par époque

verbose = 0, signifie silencieux

verbose = 2, une ligne par époque, c'est-à-dire n ° d'époque/n ° total. des époques

1
Ashiq Imran