记录一下:yolov3转换caffe-虚拟机安装caffe
1. 系统环境:ubuntu16.04
第一步:下载 caffe ,可以通过CSDN下载,需要积分,(花钱买时间)
第二步: ubuntu环境准备这个地方写了个shell(后面再搭环境就简单了):
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev
sudo apt-get install -y protobuf-compiler libatlas-base-dev libhdf5-serial-dev libboost-all-dev libboost-all-dev
python 需要切换到3 自带是3.5原因:系统会提示2020不在支持2.7的版本的升级和维护,而且发现检查caffe的python的环境时候,python的依赖第三方库的版本有问题,没有满足要求的,果断切换3.5,所有问题都解决了。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
可以用python -V 查看版本
pip 是8.1的版本, 最新是19,需要升级 pip :
python -m pip install --upgrade pip
切换完成后,19的版本有个错误 需要去修改 /usr/bin/pip3
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
第四步: 进入caffe的python目录:更新PYTHON的所有库(同样写个脚本,方便多次执行,不用总是敲命令行) :
for req in $(cat requirements.txt); do pip install $req; done
第5步:修改Mafile.config文件(CPU版 因为是虚拟机):
取消cpu注释,修改PYTHON的LIB和INCLUDE为3的版本,注释掉2,.7的版本。修改支持python layer
第6步:编译 make all make pycaffe -j4 遇到第一个问题:
(1) import caffe : 。。。。undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE
需要修改配置文件打开 PYTHON_LIBRARIES 这个 再重新编译,擦了,还是不对 找不到:boost_python35 python3.5m : find了一下 ,发现了这个东西:find *.so | grep boost_python 找到了库的位置 /usr/lib/x86_64-linux-gnu
然后修改: sudo ln -s libboost_python-py35.so libboost_python35.so 就可以了。
(2 ) import caffe :遇到第二个问题:
File "/usr/local/lib/python3.5/dist-packages/dateutil/rrule.py", line 55
raise ValueError, "Can't create weekday with n == 0"
^
SyntaxError: invalid syntax
继续找原因:sudo pip install matplotlib --upgrade
现在可以了 没有错误了,,,凌晨2点了,该睡觉了,,,,下一步研究如何yolov3转caffe