Как преобразовать сохраненный_модель.pb в EvalSavedModel? - PullRequest
0 голосов
/ 07 мая 2018

Я просматривал документацию tensorflow-model-analysis по оценке моделей TensorFlow. Руководство по началу работы рассказывает о специальной SavedModel под названием EvalSavedModel.

Цитирование руководства по началу работы:

Эта EvalSavedModel содержит дополнительную информацию, которая позволяет TFMA рассчитать те же показатели оценки, определенные в вашей модели в распределены по большому количеству данных и определены пользователем дольки.

Мой вопрос: как я могу преобразовать уже существующий saved_model.pb в EvalSavedModel?

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Если я правильно понимаю ваш вопрос, вы сгенерировали 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)
0 голосов
/ 21 июня 2018

EvalSavedModel экспортируется как сообщение SavedModel, поэтому нет необходимости в таком преобразовании.

EvalSavedModel использует SavedModelBuilder под капотом. Он заполняет граф оценки несколькими заполнителями, создает дополнительные наборы метрик. Позже он выполняет простую SavedModelBuilder процедуру.

Источник - https://github.com/tensorflow/model-analysis/blob/master/tensorflow_model_analysis/eval_saved_model/export.py#L228

P.S. Я полагаю, вы хотите запустить model-analysis на вашей модели, экспортированной с помощью SavedModelBuilder. Поскольку SavedModel не имеет ни узлов метрики, ни связанных коллекций, которые создаются в EvalSavedModel, делать это бесполезно - model-analysis просто не может найти какую-либо метрику, связанную с вашей оценкой.

...