Ошибка при попытке преобразовать модель TF.Estimator в Tensorflow.js с помощью tenorsflowjs_converter - PullRequest
0 голосов
/ 30 марта 2019

у меня есть модель tf.estimator

model = tf.estimator.DNNClassifier (hidden_units = [5, 4], feature_columns = feat_cols, n_classes = 2)

экспортируется через

feature_spec = tf.feature_column.make_parse_example_spec(feat_cols)
serving_input_receiver_fn = tf.estimator.export.build_parsing_serving_input_receiver_fn(feature_spec)
export_dir = model.export_savedmodel('export', serving_input_receiver_fn)

Я могу загрузить и использовать в своем ноутбуке через

predict_fn = tf.contrib.predictor.from_saved_model(export_dir)

Когда я запускаю tenorflowjs_converter

tensorflowjs_converter --input_format=tf_saved_model --output_format=tensorflowjs ./1553869899 ./web_model

Я получаю

ValueError: Unsupported Ops in the model before optimization
ParseExample, AsString

Я немного осмотрелся и понял, что ParseExample и AsString явно не поддерживаются. Я использую очень ванильный код, который не вызывает ParseExample или AsString напрямую. Не собираюсь переписывать части тензорного потока, который, как кажется, требуется в других ответах на неподдерживаемые вопросы Ops.

Вопрос: есть ли способ обойти это? Нужно ли мне оставлять tf.estimator и кодировать его через API более низкого уровня? Есть ли другой способ экспорта модели tf.estimator или ее преобразования, который бы работал?

Спасибо.

...