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

时间:2018-07-09 16:18:50

标签: javascript python tensorflow

我已经成功地训练了DNNClassifier来对文本进行分类(来自在线讨论区的帖子)。我使用以下代码创建并保存了模型:

insert the total amount from query for the total SELECT SUM(iQty * iUnitPrice) AS Total FROM OrdersItem WHERE (iOrderID = @Param1)

现在,我想使用tfjs-converter将保存的模型转换为与TensorFlow的JavaScript版本 tf.js 一起使用。

当我发出以下命令时:

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)

…我收到此错误消息:

  

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_co <

我认为保存模型时做错了事。

保存估算器模型以便可以通过 tfjs-converter 进行转换的正确方法是什么?

The source code of my project can be found on GitHub.

1 个答案:

答案 0 :(得分:1)

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

tensorflowjs_converter --input_format keras \
                       path/to/my_model.h5 \
                       path/to/tfjs_target_dir