Какая польза от подробностей в Keras при проверке модели?

Я впервые запускаю модель LSTM. Вот моя модель:

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)

Какая польза от подробностей при обучении модели?

Ответ 1

Проверьте документацию для model.fit здесь.

Устанавливая подробные 0, 1 или 2, вы просто говорите, как вы хотите "видеть" прогресс в обучении для каждой эпохи.

verbose=0 ничего не покажет (тихий)

verbose=1 покажет вам анимированный индикатор выполнения следующим образом:

progres_bar

verbose=2 просто укажет число таких эпох:

enter image description here

Ответ 2

Для verbose > 0, fit журналы метод:

  • потеря: значение функции потерь для ваших данных обучения
  • acc: значение точности для ваших данных обучения.

Примечание. Если используются механизмы регуляризации, они включаются, чтобы избежать переопределения.

если аргументы validation_data или validation_split не являются пустыми, fit журналы методов:

  • val_loss: значение функции потерь для ваших данных валидации
  • val_acc: значение точности для ваших данных проверки

Примечание. Механизмы регуляризации отключены во время тестирования, потому что мы используем все возможности сети.

Например, использование verbose обучения во время обучения помогает обнаружить переобучение, которое происходит, если ваш acc продолжает улучшаться, пока ваш val_acc становится хуже.

Ответ 3

verbose: Integer. 0, 1 или 2. Режим многословия.

Verbose = 0 (тихо)

Verbose = 1 (индикатор выполнения)

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 (одна строка на эпоху)

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

По умолчанию verbose = 1,

verbose = 1, который включает в себя как индикатор выполнения, так и одну строку за эпоху

verbose = 0, означает молчание

verbose = 2, одна строка на эпоху, т.е. номер эпохи/итоговый номер. эпох