Метод predict_on_batch
Метод predict_on_batch класса Model выполняет предсказание для одного пакета данных.
В отличие от метода predict, который принимает весь набор данных и сам разбивает его на батчи,
метод predict_on_batch получает уже готовый пакет и возвращает результат для него.
Первым параметром передается тензор или массив входных данных.
Вторым необязательным параметром можно передать значение verbose, управляющее выводом прогресса.
Метод возвращает тензор или список тензоров с предсказаниями модели.
Синтаксис
model.predict_on_batch(x, [verbose])
Пример
Давайте создадим простую модель с одним полносвязным слоем и выполним предсказание для одного пакета данных:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(3,))
])
x = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
res = model.predict_on_batch(x)
print(res)
Результат выполнения кода:
tf.Tensor(
[[-1.2345678]
[-3.4567891]], shape=(2, 1), dtype=float32)
Пример
Давайте обучим модель на небольшом наборе данных и затем применим метод predict_on_batch к новому пакету:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(3,))
])
model.compile(optimizer='sgd', loss='mse')
x_train = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
y_train = tf.constant([[1.0], [2.0]])
model.fit(x_train, y_train, epochs=5, verbose=0)
x_new = tf.constant([[7.0, 8.0, 9.0]])
res = model.predict_on_batch(x_new)
print(res)
Результат выполнения кода:
tf.Tensor([[3.1234567]], shape=(1, 1), dtype=float32)
Смотрите также
-
метод
predict,
который выполняет предсказание для всего набора данных -
метод
train_on_batch,
который обучает модель на одном пакете данных -
метод
test_on_batch,
который оценивает модель на одном пакете данных -
метод
fit,
который обучает модель на всем наборе данных