Tensorflowjs转换错误:“ ValueError:不支持的操作”

时间:2019-02-27 15:05:38

标签: python tensorflow tensorflowjs-converter

我正在使用以下命令将tensorflow模型转换为tensorflowjs形式

tensorflowjs_converter 
    --input_format=tf_saved_model 
    --output_node_names="my_output_node" \
    --saved_model_tags=serve my_saved_model_dir \
    ./web_model

我鼓励以下神秘错误:

ValueError: Unsupported Ops in the model before optimization NonMaxSuppression, ResizeArea

我的图形中确实有这些操作。我是否需要将它们换成更tensorflowjs更友好的东西?

我深入研究了google,只遇到了对我可以添加到tensorflowjs _ converter命令--skip_op_check=SKIP_OP_CHECK \的以下标志的引用 这确实可以编译,但是随后在尝试为js模型提供服务时,我遇到了类似于上面的js错误:

  

错误:不支持Tensorflow Op:ResizeArea

有什么想法如何修改我的图形或命令来进行导航吗?

谢谢

1 个答案:

答案 0 :(得分:1)

简短的回答是,您将需要更改它们。 TensorflowJS将出于优化目的更改操作,但并非所有操作都具有等效的TFJS版本。 支持的操作的完整列表在这里:https://github.com/tensorflow/tfjs-converter/blob/master/docs/supported_ops.md

奇怪的是,“ NonMaxSuppression”似乎确实在列表中,但是ResizeArea不在,并且将100%不起作用。

另一种方法是自己创建一个自定义操作,并使用该代码,但是我不确定如何在TFJS中执行此操作。