尝试将 TensorFlow 保存的模型转换为 TensorFlow.js 模型时出错

2024-01-11

我已成功训练 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-转换器 https://github.com/tensorflow/tfjs-converter.

当我发出以下命令时:

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:节点“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 上找到。 https://github.com/pahund/beitragstuev


你可以尝试一下,我认为这会起作用。只需在代码中输入您的输入格式即可。

tensorflowjs_converter --input_format keras \
                       path/to/my_model.h5 \
                       path/to/tfjs_target_dir
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试将 TensorFlow 保存的模型转换为 TensorFlow.js 模型时出错 的相关文章

随机推荐