SSD from caffe.proto import caffe_pb2 ImportError: No module named caffe.proto 解决方法

SSD from caffe.proto import caffe_pb2 ImportError: No module named caffe.proto 解决方法

在用voc2007和voc2012的数据训练基于caffe的SSD模型的时候,我们需要将图片数据转换成lmdb格式,用到的脚本文件是SSD源码里面提供的create_data.sh(具体位置在$CAFFE_ROOT/data/VOC0712/create_data.sh)。

修改完,在执行命令 sh create_data.sh的时候,有可能会出现以下error:
SSD from caffe.proto import caffe_pb2 ImportError: No module named caffe.proto 解决方法

因为这个问题在晚上弄了一个下午,尝试过例如:https://blog.csdn.net/lanyuelvyun/article/details/73628152 等博客所说的方法,就是把把caffe中的和python相关的内容的路径添加到python的编译路径中。然而这样的方法并没有用,所以纠结了一个下午。

解决方法:
1.打开 ~/caffe-ssd/scripts/create_annoset.py 文件。
2.在import sys和from caffe.proto import caffe_pb2这两段代码中间插入sys.path.insert(0,’/home/xxx/caffe_ssd/ python’)这句代码,xxx为你们自己的用户名。

如下图所示:
SSD from caffe.proto import caffe_pb2 ImportError: No module named caffe.proto 解决方法

然后保存文件。在执行命令 sudo ./data/VOC0712/create_data.sh 的时候就顺利通过了。

SSD from caffe.proto import caffe_pb2 ImportError: No module named caffe.proto 解决方法