我使用以下示例创建 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 中的“2. Freezing the graph”部分-to/freeze-tensorflow-models/ 创建我的模型的 *.pb 文件。我尝试使用 toco 命令行工具转换 *.pb 文件,如https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite上的“将 TensorFlow SavedModel 转换为 TensorFlow Lite”中所述/toco/g3doc/cmdline_examples.md#savedmodel 并得到以下错误:
(venv) user@user-desktop:~/PycharmProjects/tensorflow_tutorial/tensorflow$ bazel run -c opt tensorflow/contrib/lite/toco:toco -- --savedmodel_directory=/home/user/PycharmProjects/tensorflow_tutorial/tutorial-2-图像分类器 --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/contrib/lite/toco:toco (0 个包已加载)。信息:找到 1 个目标... 警告:缓存/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/contrib/lite/toco/toco 信息:经过时间:0.271s,关键路径: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 格式保存。
引发此错误的函数是 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/toco/toco_saved_model.cc 上的 MaybeSavedModelDirectory ,我 在https://github.com/ /github.com/tensorflow/tensorflow/blob/master/tensorflow/cc/saved_model/loader.cc 实际上它在模型目录中寻找 *.pb 或 *.pbtxt 文件,我在请求的位置得到了这个文件,所以为什么我得到这个错误?
机器详细信息:操作系统平台和分发 - ubuntu x64,TensorFlow 安装自 - pip,TensorFlow 版本 - cpu 版本 1.8.0,Bazel 版本 - 0.13.0,CUDA/cuDNN 版本 - 无 cuda,GPU 模型和内存 - 无 gpu,Exact命令重现 - 不需要,python 版本 - 3.5.2