当我使用下面的命令生成tflite文件时:
./bazel-bin/tensorflow/contrib/lite/toco/toco \
--input_file=./model1.pb \
--input_format=TENSORFLOW_GRAPHDEF --output_format=TFLITE \
--output_file=./model_none.tflite --inference_type=FLOAT \
--input_type=FLOAT --input_arrays=x \
--output_arrays=output --input_shapes=1,none,none,1
错误:F tensorflow / contrib / lite / toco / model_cmdline_flags.cc:337]检查失败:absl :: SimpleAtoi(dim_str,&size)无法解析input_shape:1,none,none,1
问题:精简版不支持任何形状吗?为什么谷歌不支持精简版中没有形状?有困难吗?或者只是精简版没有完成?非常感谢您的回复 .
2 回答
您需要在转换时指定特定形状 . 在推理时间(在interpeter API中)可以调整输入的大小并且可以改变计算大小 . 对于固定的已知尺寸,计算效率更高 . 这就是必需的原因 .
我的pb文件中的输入形状是(None,None,None,3) . 现在我使用命令转换为tflite文件:
tflite文件没问题 . 但它看起来输入位图应该只有299 * 299 . 我希望我的模型的输入位图的大小可以调整大小,例如可以是299 * 299,150 * 150 ....现在输入位图的输入大小如果与转换为tflite的命令中的大小不同 . 在java demo上运行时,错误如下: