РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
372 of 824 menu

Метод set_params класса Callback

Метод set_params класса Callback устанавливает параметры колбэка. Он вызывается фреймворком Keras автоматически при старте обучения, но может быть вызван и вручную. Первым параметром метод принимает словарь params с ключами 'batch_size', 'epochs', 'steps', 'samples', 'verbose', 'do_validation' и другими. Метод сохраняет переданные значения в атрибутах объекта: self.params, self.model, self.epochs, self.batch_size и так далее.

Синтаксис

callback.set_params(params)

Пример

Давайте создадим простой колбэк и установим его параметры вручную:

import tensorflow as tf class MyCallback(tf.keras.callbacks.Callback): def on_train_begin(self, logs=None): print("Model:", self.model) print("Epochs:", self.epochs) print("Batch size:", self.batch_size) print("Params keys:", list(self.params.keys())) model = tf.keras.Sequential([ tf.keras.layers.Dense(1, input_shape=(1,)) ]) model.compile(optimizer='sgd', loss='mse') callback = MyCallback() callback.set_params({ 'batch_size': 32, 'epochs': 5, 'verbose': 1, 'steps': 10, 'samples': 320, 'do_validation': False, 'metrics': ['loss'] }) callback.set_model(model) callback.on_train_begin()

Результат выполнения кода:

Model: <keras.engine.sequential.Sequential object at 0x...> Epochs: 5 Batch size: 32 Params keys: ['batch_size', 'epochs', 'verbose', 'steps', 'samples', 'do_validation', 'metrics']

Пример

Давайте создадим колбэк, который использует параметры epochs и batch_size для вывода информации во время обучения:

import tensorflow as tf tf.random.set_seed(0) class ParamLogger(tf.keras.callbacks.Callback): def on_epoch_begin(self, epoch, logs=None): print(f"Epoch {epoch + 1}/{self.epochs}, batch_size={self.batch_size}") x = tf.constant([[1.0], [2.0], [3.0], [4.0]]) y = tf.constant([[2.0], [4.0], [6.0], [8.0]]) model = tf.keras.Sequential([ tf.keras.layers.Dense(1, input_shape=(1,)) ]) model.compile(optimizer='sgd', loss='mse') logger = ParamLogger() model.fit(x, y, epochs=3, batch_size=2, callbacks=[logger], verbose=0)

Результат выполнения кода:

Epoch 1/3, batch_size=2 Epoch 2/3, batch_size=2 Epoch 3/3, batch_size=2

Смотрите также

  • класс Callback,
    который является базовым классом для создания колбэков
  • метод set_model,
    который устанавливает модель для колбэка
  • метод on_train_begin,
    который вызывается в начале обучения
  • метод on_epoch_end,
    который вызывается в конце каждой эпохи
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить