Сбрасывает ли model.fit() метрики после каждой эпохи? Как сбросить метрики вручную?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Сбрасывает ли model.fit() метрики после каждой эпохи? Как сбросить метрики вручную?

Сообщение Anonymous »


Насколько я понимаю, model.fit(epochs=NUM_EPOCHS) не сбрасывает метрики для каждой эпохи. Мой код для метрик и model.fit() выглядит следующим образом (упрощенно):

импортировать тензорный поток как tf из приложений импорта tensorflow.keras NUM_CLASSES = 4 ВХОД_ШАПЕ = (256, 256, 3) МОДЕЛИ = { «DenseNet121»: apps.DenseNet121, «DenseNet169»: apps.DenseNet169. } REDUCE_LR_PATIENCE = 2 REDUCE_LR_FACTOR = 0,7 EARLY_STOPPING_PATIENCE = 4 для имени модели — модель в MODELS.items(): loadingModel = model(include_top=False, Weights='imagenet', пулирование = 'avg', input_shape = INPUT_SHAPE) sequentialModel = tf.keras.models.Sequential() sequentialModel.add(загруженнаямодель) sequentialModel.add(tf.keras.layers.Dense(NUM_CLASSES, активация = 'softmax')) aucCurve = tf.keras.metrics.AUC (кривая = 'ROC', multi_label = True) categoricalAccuracy = tf.keras.metrics.CategoricalAccuracy() F1Score = tfa.metrics.F1Score(num_classes = NUM_CLASSES, среднее значение = «макро», пороговое значение = нет) метрики = [aucCurve, categoricalAccuracy, F1Score] sequentialModel.compile(метрики=метрики) обратные вызовы = [ tf.keras.callbacks.ReduceLROnPlateau(monitor='val_loss', терпение=REDUCE_LR_PATIENCE, verbose=1, Factor=REDUCE_LR_FACTOR), tf.keras.callbacks.EarlyStopping(monitor='val_loss', verbose=1, терпение=EARLY_STOPPING_PATIENCE), tf.keras.callbacks.ModelCheckpoint(filepath=modelName + '_epoch-{epoch:02d}.h5',monitor='val_loss', save_best_only=False, verbose=1), tf.keras.callbacks.CSVLogger(имя_модели + '_training.csv')] sequentialModel.fit(эпохи=NUM_EPOCHS) Возможно, я могу сбросить метрики, выполнив цикл for в диапазоне NUM_EPOCHS и инициализировав метрики в цикле for, но я не уверен, что это хорошее решение. Кроме того, у меня есть обратные вызовы ModelCheckpoint и CSVLogger, для которых требуется номер эпохи из model.fit(), поэтому это не будет работать, если я выполню цикл for.

Есть ли у вас какие-либо предложения о том, как сбросить показатели для каждой эпохи? Является ли выполнение цикла for в диапазоне NUM_EPOCHS единственным решением? Спасибо.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»