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

Метод predict

Метод predict применяется к обученной модели и возвращает прогнозы для переданных входных данных. Первым параметром передаётся набор входных данных x - тензор, массив NumPy или словарь. Вторым параметром можно передать размер пакета batch_size. Третьим - verbose, который управляет выводом прогресса. Метод выполняет вычисления в режиме инференса и возвращает прогнозы модели.

Синтаксис

model.predict(x, [batch_size], [verbose], [steps])

Пример

Давайте создадим простую модель, обучим её и получим прогноз для новых данных:

import tensorflow as tf import numpy as np tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(1, input_shape=(1,)) ]) model.compile(optimizer='sgd', loss='mse') x = np.array([1, 2, 3, 4, 5], dtype=np.float32) y = np.array([2, 4, 6, 8, 10], dtype=np.float32) model.fit(x, y, epochs=100, verbose=0) res = model.predict(np.array([6, 7], dtype=np.float32)) print(res)

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

[[12.001234] [14.001234]]

Пример

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

import tensorflow as tf import numpy as np tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(2, input_shape=(3,)) ]) model.compile(optimizer='sgd', loss='mse') x = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32) y = np.array([[1, 0], [0, 1]], dtype=np.float32) model.fit(x, y, epochs=50, verbose=0) res = model.predict(x, batch_size=1, verbose=1) print(res)

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

1/1 [==============================] - 0s 45ms/step [[ 0.5234 -0.1123] [ 0.6789 -0.2345]]

Пример

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

import tensorflow as tf import numpy as np tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(3, activation='softmax', input_shape=(2,)) ]) model.compile(optimizer='adam', loss='categorical_crossentropy') x = np.array([[1, 2], [3, 4], [5, 6]], dtype=np.float32) y = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]], dtype=np.float32) model.fit(x, y, epochs=100, verbose=0) res = model.predict(x) print(np.argmax(res, axis=1))

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

[0 1 2]

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

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