我使用下面的示例来创建tensorflow模型:http://cv-tricks.com/tensorflow-tutorial/training-convolutional-neural-network-for-image-classification/ --您可以从这里下载代码:https://github.com/sankit1/cv-tricks.com/tree/master/Tensorflow-tutorials/tutorial-2-image-classifier也使用http://cv-tricks.com/how-to/freeze-tensorflow-models/中的"2.冻结图形“部分来创建模型的*.pb文件。我尝试用toco命令行工具来转换*.pb文件,就像在examples.md#savedmodel上“将TensorFlow SavedModel转换为TensorFlow Lite”中描述的那样,并得到了以下错误:
( -c ) user@user-desktop:~/PycharmProjects/tensorflow_tutorial/tensorflow$ bazel run -c opt tensorflow/cont肋骨/lite/toco:toco---savedmodel_directory=/home/user/PycharmProjects/tensorflow_tutorial/tutorial-2-image-classifier --output_file=/home/user/PycharmProjects/tensorflow_tutorial/tutorial-2-image-classifier/dogs-cats-model.tflite警告: /home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/external/protobuf_archive/WORKSPACE:1:工作区/home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/external/protobuf_archive/WORKSPACE (@com_google_protobuf)中的名称与存储库的定义(@protobuf_archive)中给出的名称不匹配;这将导致未来版本信息中的构建错误:分析的目标//tensorflow/cont肋骨/lite/toco:toco(已加载的0包)。找到一个目标..。警告:未能为前缀‘bazel-’创建一个或多个方便的符号链接:无法创建符号链接bazel-out /home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow/bazel-out: /home/user/PycharmProjects/tensorflow_tutorial/tensorflow/bazel-out (文件存在)不能创建符号链接bazel-out -> /home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow/bazel-out: /home/user/PycharmProjects/tensorflow_教程/tensorflow/bazel-out(文件存在)不能创建符号链接bazel-tensorflow /home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow: /home/user/PycharmProjects/tensorflow_tutorial/tensorflow/bazel-tensorflow (文件存在)不能创建符号链接bazel-bin -> /home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow/bazel-out/k8-opt/bin: /home/user/PycharmProjects/tensorflow_tutorial/tensorflow/bazel-bin (文件存在)不能创建符号链接bazel-testlog /home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow/bazel-out/k8-opt/testlogs: /home/user/PycharmProjects/tensorflow_tutorial/tensorflow/bazel-testlogs (文件存在)不能创建符号链接bazel-genfiles -> /home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow/bazel-out/k8-opt/genfiles: /home/user/PycharmProjects/tensorflow_time/tensorflow/bazel-genfiles(文件存在) Target //tensorflow/cont肋骨/lite/toco:toco最新: /home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/contrib/lite/toco/toco信息:运行时间:0.271 s,关键路径: 0.00s信息:0进程。信息:成功构建完成,1总操作信息:运行命令行: /home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/contrib/lite/toco/toco '--savedmodel_directory=/home/user/PycharmProjects/tensorflow_tutorial/tutorial-2-image-classifier‘'--output_file=/home/user/PycharmProjects/tensorflow_tutorial/tutorial-2-image-classifier/dogs-cats-model.tflite’2018-05-07 01:33:13.776954: f tensorflow/contrib/lite/toco/toco_saved_model.cc:34] 检查失败: tensorflow::MaybeSavedModelDirectory(model_path)模型未以受支持的SavedModel格式保存.
抛出此错误的函数是MaybeSavedModelDirectory at model.cc,我查看了它在型号/装载机上的实现--实际上它在模型目录上查找*.pb或*.pbtxt文件--我在请求的位置得到了这个文件,那么为什么会出现这个错误呢?
机器详细信息:操作系统平台和发行版- ubuntu x64,TensorFlow安装于- pip,TensorFlow版本- cpu版本1.8.0,Bazel版本- 0.13.0,CUDA/cuDNN版本-没有cuda,GPU模型和内存-没有gpu,完全命令复制-不需要,python版本- 3.5.2
发布于 2018-07-27 20:31:05
TensorFlow 1.8支持两种格式:
在您的例子中,如果您已经使用了freeze_graph.py,那么您应该遵循引用GraphDefs的文档。TensorFlow Lite的最新文档是可用的这里。
复制自文档( TensorFlow 1.9):
下面的示例将基本的TensorFlow GraphDef (被freeze_graph.py冻结)转换为TensorFlow Lite FlatBuffer以执行浮点推断。冻结图包含存储在检查点文件中的变量,作为Const。
curl https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_0.50_128_frozen.tgz \
| tar xzv -C /tmp
tflite_convert \
--output_file=/tmp/foo.tflite \
--graph_def_file=/tmp/mobilenet_v1_0.50_128/frozen_graph.pb \
--input_arrays=input \
--output_arrays=MobilenetV1/Predictions/Reshape_1只要有可能,就会自动确定input_shapes的值。
发布于 2019-10-27 21:53:56
https://stackoverflow.com/questions/50304532
复制相似问题