我正在使用tflite进行语义分割。我有一个训练有素的模型可以从背景中分割对象,该模型是在deeplab上训练的。
我已使用以下代码将此模型(冻结推理图)转换为tflite格式:
tflite_convert \
--output_file=test.lite \
--graph_def_file=frozen_inference_graph.pb \
--input_arrays=ImageTensor \
--output_arrays=SemanticPredictions \
--input_shapes=1,600,450,3 \
--inference_input_type=QUANTIZED_UINT8 \
--inference_type=FLOAT \
--mean_values=128 \
--std_dev_values=128
模型在android上加载,但是当我尝试运行推理时,会出现此错误:
由于:java.lang.IllegalStateException:内部错误:意外 准备张量分配时失败: third_party / tensorflow / lite / kernels / unpack.cc:54 NumDimensions(输入)
1不正确。节点号4(UNPACK)无法准备。
如何解决此错误?
答案 0 :(得分:0)
它适用于以下命令:
bazel-bin/tensorflow/lite/toco/toco \
--input_file=deeplabv3_mnv2_pascal_tain.pb \
--output_file=test.tflite \
--inference_input_type=QUANTIZED_UINT8 \
--inference_type=FLOAT \
--input_arrays=ImageTensor \
--output_arrays=SemanticPredictions \
--input_shapes=1,513,513,3 \
--mean_values=128 \
--std_dev_values=128
当我从源代码安装tensorflow时它起作用了。为了从源代码安装张量流,我使用了(link)