【发布时间】:2018-11-08 11:43:22
【问题描述】:
我刚开始尝试 Tensorflow,我想在 Android 上做一些实验,但我读到 Tensorflow for Poets(移动版)支持 .tflite,而我下载并在谷歌上搜索的模型是 .pb。
所以我决定使用toco来转换它们,但是当我执行转换命令时,我总是得到这个错误
ValueError:找到了无效的张量“输入”。
CLI 命令是:
toco --graph_def_file=tensorflow_inception_graph.pb --output_file=optimized_graph.tflite --input_format=TENSORFLOW_GRAPHDEF --output_format=TFLITE --input_shape=1,300,300,3 --input_array=input --o
utput_array=final_result --inference_type=FLOAT --inference_input_type=FLOAT
这有什么问题?
堆栈跟踪
File "/home/Mitro/venv/bin/toco", line 11, in <module>
sys.exit(main())
File "/home/Mitro/venv/lib/python3.5/site-packages/tensorflow/contrib/lite/python/tflite_convert.py", line 401, in main
app.run(main=run_main, argv=sys.argv[:1])
File "/home/Mitro/venv/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "/home/Mitro/venv/lib/python3.5/site-packages/tensorflow/contrib/lite/python/tflite_convert.py", line 397, in run_main
_convert_model(tflite_flags)
File "/home/Mitro/venv/lib/python3.5/site-packages/tensorflow/contrib/lite/python/tflite_convert.py", line 100, in _convert_model
converter = _get_toco_converter(flags)
File "/home/Mitro/venv/lib/python3.5/site-packages/tensorflow/contrib/lite/python/tflite_convert.py", line 87, in _get_toco_converter
return converter_fn(**converter_kwargs)
File "/home/Mitro/venv/lib/python3.5/site-packages/tensorflow/contrib/lite/python/lite.py", line 271, in from_frozen_graph
sess.graph, input_arrays)
File "/home/Mitro/venv/lib/python3.5/site-packages/tensorflow/contrib/lite/python/convert_saved_model.py", line 189, in get_tensors_from_tensor_names
",".join(invalid_tensors)))
【问题讨论】:
-
你用的是什么TF版本?一切都是用 Python3 编译的吗?
-
1.11版,与python 3.5编译
-
嗯,好吧。所以,我现在要做的就是查看 tensor_names 并检查哪个 throws 会引发此错误。如果您使用的张量操作与 TF Lite 兼容,您还可以检查 here
标签: python tensorflow tensorflow-lite toco