#python #tensorflow #keras
#python #тензорный поток #keras
Вопрос:
В чем разница между использованием model(x)
и model.predict(x)
для прогнозирования результата модели в Keras?
Ответ №1:
Keras с серверной частью tensorflow использовал базовые объекты tensorflow, но в основном предоставлял высокоуровневые выходные данные, которые могли быть поняты вне среды tensorflow (в качестве примера он мог выводить массивы numpy или списки python).
Сегодня приведена модель в tensorflow 2.0 (созданная с использованием библиотеки keras),
out_np = model.predict(x)
предоставляет массив numpy, который может, в качестве примера, быть напечатан с помощью print(out_np)
.
С другой стороны,
out_tf = model(x)
результатом является объект tensorflow, который может быть преобразован в массив numpy с .numpy()
Два результата эквивалентны, в качестве примера мы имеем, что верно следующее,
out_np.max() == out_tf.numpy().max()
Формат может отличаться, но значение model(x)
и model.predict(x)
одно и то же:
при заданном входном x это значение выходных узлов сети, характеризующееся ее структурой, весами и отклонениями.