Tensorflow [Toco]将模型转换为优化格式导致ValueError - python

我刚开始尝试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)))

My reference from Google

python参考方案

运行此script并将model_file参数更改为pb文件,作为输出,您将具有以下内容:

张量(“ import / Placeholder:0”,shape =(?, 299,299,3),dtype = float32)
张量(“ import / final_result:0”,shape =(?, 5),dtype = float32)

在这种情况下,它们是您必须通过的参数
--input_array =占位符
--output_array = final_result

Here是完整的信息

有没有一种方法可以有效地矢量化图像上的Tensorflow操作? - python

Tensorflow有大量的变换,可以应用于表示图像([高度,宽度,深度])(例如tf.image.rot90()或tf.image.random_flip_left_right())的3D张量。我知道它们应与队列一起使用,因此它们只能在一个图像上运行。但是,是否有一种方法可以对操作进行矢量化处理,以将4D张量([batch_size,height,widt…

TensorFlow操作,在官方API中找不到 - python

最近,我尝试重复学习Nvidia在GitHub上发布的代码-progressive_growing_of_gans。但是,我发现以下几种基于官方API找不到的操作参考。feed_dict = {} setter = tf.assign(var, tf.placeholder(var.dtype, var.shape, 'new_value'…

安装Tensor Flow泊坞映像 - python

我正在使用下面的链接安装张量流docker映像,对于最后一步,当我运行sudo docker pull tensorflow/tensorflow:latest-gpu-jupyter时,出现以下错误消息:Error response from daemon: manifest for tensorflow/tensorflow:devel-gpu-jupy…

无法在TensorFlow中转换部分转换的张量 - python

TensorFlow中有很多方法需要指定形状,例如truncated_normal:tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) 我有一个用于输入形状[None,784]的占位符,其中第一维为“无”,因为批量大小可以变化。我可以…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…