Какая польза от подробностей в 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, одна строка на эпоху, т.е. номер эпохи/итоговый номер. эпох