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

Класс RemoteMonitor

Класс RemoteMonitor представляет собой колбэк, который во время обучения модели отправляет информацию о текущей эпохе на удаленный сервер. Данные передаются методом POST в формате JSON. Первым параметром передается корневой адрес сервера, вторым - путь для отправки запросов, третьим - тип поля, в котором передается полезная нагрузка. Класс удобен, когда нужно следить за обучением модели удаленно, например, из другого приложения или панели мониторинга.

Синтаксис

tf.keras.callbacks.RemoteMonitor(root='http://localhost:9000', path='/publish/epoch/end/', field='data', headers=None, send_as_json=False)

Параметры

Класс принимает следующие параметры:

  • root - корневой адрес удаленного сервера, по умолчанию 'http://localhost:9000';
  • path - путь на сервере, куда отправляются данные, по умолчанию '/publish/epoch/end/';
  • field - имя поля, в котором передаются данные, по умолчанию 'data';
  • headers - словарь дополнительных HTTP-заголовков, по умолчанию None;
  • send_as_json - если True, данные отправляются в формате JSON, иначе как form-data.

Пример

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

import tensorflow as tf tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(1, input_shape=(1,)) ]) model.compile(optimizer='sgd', loss='mse') x = tf.constant([[1.0], [2.0], [3.0], [4.0], [5.0]]) y = tf.constant([[2.0], [4.0], [6.0], [8.0], [10.0]]) monitor = tf.keras.callbacks.RemoteMonitor( root='http://localhost:9000', path='/publish/epoch/end/', field='data' ) print(monitor)

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

<keras.src.callbacks.remote_monitor.RemoteMonitor object at 0x...>

Пример

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

import tensorflow as tf tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(1, input_shape=(1,)) ]) model.compile(optimizer='sgd', loss='mse') x = tf.constant([[1.0], [2.0], [3.0], [4.0], [5.0]]) y = tf.constant([[2.0], [4.0], [6.0], [8.0], [10.0]]) monitor = tf.keras.callbacks.RemoteMonitor( root='http://localhost:9000', path='/publish/epoch/end/', field='data', send_as_json=True ) try: history = model.fit(x, y, epochs=2, verbose=0, callbacks=[monitor]) print('training finished') except Exception as e: print('connection error')

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

"connection error"

Пример

Давайте создадим колбэк с дополнительными HTTP-заголовками для авторизации:

import tensorflow as tf monitor = tf.keras.callbacks.RemoteMonitor( root='http://example.com', path='/api/train/epoch/', field='payload', headers={'Authorization': 'Bearer token'}, send_as_json=True ) print(monitor.root) print(monitor.path) print(monitor.field)

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

http://example.com /api/train/epoch/ payload

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

  • класс TensorBoard,
    который записывает данные обучения для визуализации
  • класс CSVLogger,
    который сохраняет данные обучения в CSV-файл
  • класс LambdaCallback,
    который выполняет пользовательские функции во время обучения
  • класс History,
    который хранит историю обучения модели
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить