Как преобразовать сохраненный_модель.pb в EvalSavedModel?
Я проходил через tensorflow-model-analysis
документация по оценке моделей TensorFlow. Руководство по началу работы рассказывает о специальной SavedModel под названием EvalSavedModel
,
Цитирую руководство по началу работы:
Эта EvalSavedModel содержит дополнительную информацию, которая позволяет TFMA вычислять те же метрики оценки, определенные в вашей модели, распределенным образом для большого объема данных и определенных пользователем срезов.
Мой вопрос, как я могу конвертировать уже существующий saved_model.pb
для EvalSavedModel
?
1 ответ
Если я правильно понимаю ваш вопрос, у вас есть saved_model.pb
генерируется, либо с помощью tf.saved_model.simple_save
или tf.saved_model.builder.SavedModelBuilder
или по estimator.export_savedmodel
.
Если я правильно понимаю, то вы экспортируете графики обучения и вывода в saved_model.pb
.
В пункте, о котором вы упомянули в Руководстве веб-сайта TF Org, говорится, что помимо экспорта графика обучения нам также необходимо экспортировать график оценки. Это называется EvalSavedModel.
График оценки включает метрики для этой модели, так что вы можете оценить производительность модели с помощью визуализаций.
Прежде чем мы экспортируем EvalSaved
Модель, надо подготовить eval_input_receiver_fn
, похожий на serving_input_receiver_fn
.
Мы также можем упомянуть другие функции, например, если вы хотите, чтобы метрики определялись распределенным способом, или если мы хотим оценить нашу модель, используя фрагменты данных, а не весь набор данных. Такие варианты можно упомянуть вeval_input_receiver_fn
.
Затем мы можем экспортировать EvalSavedModel
используя код ниже:
tfma.export.export_eval_savedmodel(estimator=estimator,export_dir_base=export_dir,
eval_input_receiver_fn=eval_input_receiver_fn)
EvalSavedModel
экспортируется как сообщение SavedModel, поэтому нет необходимости в таком преобразовании.
EvalSavedModel
использования SavedModelBuilder
под капотом. Он заполняет граф оценки несколькими заполнителями, создает дополнительные наборы метрик. Позже он выполняет простой SavedModelBuilder
процедура.
PS Полагаю, ты хочешь бежать model-analysis
на вашей модели, экспортируется SavedModelBuilder
, поскольку SavedModel
не имеет ни узлов метрики, ни связанных коллекций, которые создаются в EvalSavedModel
это бесполезно - model-analysis
просто не смог найти метрики, связанной с вашей оценкой.