Ошибка при попытке преобразования модели TensorFlow в модель TensorFlow.js - программирование
Подтвердить что ты не робот

Ошибка при попытке преобразования модели TensorFlow в модель TensorFlow.js

Я успешно подготовил DNNClassifier для классификации текстов (сообщений из онлайн-доски объявлений). Я создал и сохранил свою модель, используя этот код:

embedded_text_feature_column = hub.text_embedding_column(
    key="sentence",
    module_spec="https://tfhub.dev/google/nnlm-de-dim128/1")
feature_columns = [embedded_text_feature_column]
estimator = tf.estimator.DNNClassifier(
    hidden_units=[500, 100],
    feature_columns=feature_columns,
    n_classes=2,
    optimizer=tf.train.AdagradOptimizer(learning_rate=0.003))
feature_spec = tf.feature_column.make_parse_example_spec(feature_columns)
serving_input_receiver_fn = tf.estimator.export.build_parsing_serving_input_receiver_fn(feature_spec)
estimator.export_savedmodel(export_dir_base="/my/dir/base", serving_input_receiver_fn=serving_input_receiver_fn)

Теперь я хочу преобразовать мою сохраненную модель, чтобы использовать ее с версией JavaScript TensorFlow, tf.js, используя tfjs-конвертер.

Когда я выдаю следующую команду:

tensorflowjs_converter --input_format=tf_saved_model --output_node_names='dnn/head/predictions/str_classes,dnn/head/predictions/probabilities' --saved_model_tags=serve /my/dir/base /my/export/dir

... Я получаю это сообщение об ошибке:

ValueError: Node 'dnn/input_from_feature_columns/input_layer/sentence_hub_module_embedding/module_apply_default/embedding_lookup_sparse/embedding_lookup' ожидает, что он будет размещен с неизвестным узлом 'dnn/input_from_feature_columns/input_layer/sentence_hub_module_embedding

Я предполагаю, что я делаю что-то неправильно при сохранении модели.

Каков правильный способ сохранения модели оценки, чтобы она могла быть преобразована с помощью tfjs-преобразователя?

Исходный код моего проекта можно найти на GitHub.

4b9b3361