На этом шаге мы рассмотрим применимость созданной модели.
После обучения модель можно использовать для вычисления прогнозов на основе новых данных. Этот этап называется выводом. Простейший способ получить прогноз - вызвать метод __call__() модели:
# Принимает массив NumPy или тензор TensorFlow и возвращает тензор TensorFlow
predictions = model(new_inputs)
Однако это подразумевает обработку сразу всех входных данных в new_inputs, что может оказаться невыполнимым, если, например, объем данных для прогнозирования слишком большой и для его обработки требуется больше памяти, чем имеется у вашего графического процессора.
Лучший способ получить вывод - использовать метод predict(). Он выполнит обход данных, разбив их на небольшие пакеты, и вернет массив NumPy с прогнозами. В отличие от __call__(), он также может обрабатывать объекты Dataset.
# Принимает массив NumPy или объект Dataset и возвращает массив NumPy
predictions = model.predict(new_inputs, batch_size=128)
Например, если к некоторым из проверочных данных применить метод predict() обученной выше модели линейной классификации, то он вернет скалярные оценки, соответствующие прогнозу модели для каждого входного образца:
>>> predictions = model.predict(val_inputs, batch_size=128) >>> print(predictions[:10]) [[0.3590725 ] [0.82706255] [0.74428225] [0.682058 ] [0.7312616 ] [0.6059811 ] [0.78046083] [0.025846 ] [0.16594526] [0.72068727]]
На данный момент это все, что нужно знать о моделях Keras. Теперь вы готовы перейти к решению реальных задач машинного обучения с помощью Keras, чем мы и займемся в следующих шагах.
На следующем шаге мы подведем итоги по изученному матриалу.