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

Метод test_on_batch класса Model

Метод test_on_batch применяется к модели Model для оценки качества работы на одной партии данных. Метод принимает входные данные x, целевые значения y, а также дополнительные параметры, такие как веса образцов sample_weight и флаг return_dict. В отличие от метода evaluate, который проходит по всему датасету, test_on_batch обрабатывает только одну партию и возвращает результат немедленно.

Синтаксис

Model.test_on_batch(x, y=None, sample_weight=None, return_dict=False)

Пример

Давайте создадим простую модель, скомпилируем ее и выполним оценку на одной партии данных:

import tensorflow as tf tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(4, activation='relu', input_shape=(3,)), tf.keras.layers.Dense(1) ]) model.compile(optimizer='sgd', loss='mse', metrics=['mae']) x = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]) y = tf.constant([[1.0], [2.0]]) res = model.test_on_batch(x, y) print(res)

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

[23.794418, 4.8412805]

Пример

Давайте выполним оценку с параметром return_dict=True, чтобы получить результат в виде словаря:

<+python+> import tensorflow as tf tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(4, activation='relu', input_shape=(3,)), tf.keras.layers.Dense(1) ]) model.compile(optimizer='sgd', loss='mse', metrics=['mae']) x = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]) y = tf.constant([[1.0], [2.0]]) res = model.test_on_batch(x, y, return_dict=True) print(res) <-python+>

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

{'loss': 23.794418, 'mae': 4.8412805}

Пример

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

import tensorflow as tf tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(4, activation='relu', input_shape=(3,)), tf.keras.layers.Dense(1) ]) model.compile(optimizer='sgd', loss='mse', metrics=['mae']) x = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]) y = tf.constant([[1.0], [2.0]]) sample_weight = tf.constant([1.0, 0.5]) res = model.test_on_batch(x, y, sample_weight=sample_weight) print(res)

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

[17.845814, 4.8412805]

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

  • метод evaluate,
    который выполняет оценку модели на всем датасете
  • метод train_on_batch,
    который выполняет обучение модели на одной партии данных
  • метод predict_on_batch,
    который возвращает предсказания для одной партии данных
  • метод fit,
    который выполняет обучение модели на всем датасете
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить