¿Cuál es el uso de verbose en Keras al validar el modelo?


89

Estoy ejecutando el modelo LSTM por primera vez. Aquí está mi modelo:

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)

¿Cuál es el uso de verbose durante el entrenamiento del modelo?

Respuestas:


210

Consulte la documentación de model.fit aquí .

Al establecer detallado 0, 1 o 2, simplemente diga cómo desea "ver" el progreso del entrenamiento para cada época.

verbose=0 no te mostrará nada (silencioso)

verbose=1 le mostrará una barra de progreso animada como esta:

progres_bar

verbose=2 solo mencionaré el número de época así:

ingrese la descripción de la imagen aquí


20
detallado: Entero. 0, 1 o 2. Modo de verbosidad. 0 = silencioso, 1 = barra de progreso, 2 = una línea por época. Gracias @ank you rock ..
— rakesh

2
Este comentario es la mejor respuesta a la pregunta, incluso mejor que la respuesta que se comenta. Tenga en cuenta esto y trate de evitar las palabras solo para hacer la respuesta más larga. @rakesh, eres genial.
— Konstantin Sekeresh

19

verbose: Integer. 0, 1 o 2. Modo de verbosidad.

Detallado = 0 (silencioso)

Detallado = 1 (barra de progreso)

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

Verboso = 2 (una línea por época)

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

¿Puede explicar por qué no obtengo el resultado esperado para diferentes vakues de verboso? ¿Obtengo la misma salida [silenciosa] para verbose = 0 y 2 para mi archivo? Y para verbose = 1, obtengo la barra de progreso solo al final de épocas como Epoch 10/10 - 21s - loss: 0.2354 - acc: 0.9286 - val_loss: 0.2206 - val_acc: 0.9344 [======== ======================] Precisión: 0.9344 Error: 6.560000000000002
— Dra. Nisha Arora

gran respuesta, me ayudó. Válido para tensorflow 2.2
— Bobs Burgers

9

Para verbose> 0, fitregistros de métodos:

  • pérdida : valor de la función de pérdida para sus datos de entrenamiento
  • acc : valor de precisión para tus datos de entrenamiento.

Nota: Si se utilizan mecanismos de regularización, se activan para evitar el sobreajuste.

si los argumentos validation_datao validation_splitno están vacíos, los fitregistros del método:

  • val_loss : valor de la función de pérdida para sus datos de validación
  • val_acc : valor de precisión para sus datos de validación

Nota: Los mecanismos de regularización están desactivados en el momento de la prueba porque estamos utilizando todas las capacidades de la red.

Por ejemplo, usar verboseel modelo durante el entrenamiento ayuda a detectar el sobreajuste que se produce si accsigue mejorando mientras val_accempeora.


¿Qué relevancia tiene la regularización para el parámetro de verbosidad?
— Chrisji

El parámetro detallado no tiene ningún impacto en los mecanismos de regularización. Solo estoy agregando información sobre lo que se muestra si verbose está habilitado (para responder a la pregunta inicial "¿Cuál es el uso de verbose mientras se entrena el modelo?" => Ej: evitar el sobreajuste comparando acc y val_acc).
— Hugo Bevilacqua

1

Por defecto detallado = 1,

verbose = 1, que incluye tanto la barra de progreso como una línea por época

verbose = 0, significa silencioso

detallado = 2, una línea por época, es decir, no de época / no total. de épocas


0

El orden de los detalles proporcionados con el indicador detallado es el

Menos detalles .... Más detalles

0 <2 <1

El valor predeterminado es 1

Para el entorno de producción, se recomienda 2

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.