失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 海思Hi3519AV100深度学习方案(一)darknet转caffmodel之caffe安装(基于Ubuntu16.04+

海思Hi3519AV100深度学习方案(一)darknet转caffmodel之caffe安装(基于Ubuntu16.04+

时间:2020-09-20 11:01:04

相关推荐

海思Hi3519AV100深度学习方案(一)darknet转caffmodel之caffe安装(基于Ubuntu16.04+

系列文章目录

海思Hi3519AV100深度学习方案(二)darknet转caffmodel之模型转换(yolov3+caffe+python3.5)


文章目录

系列文章目录前言一、系统已有环境检查1.1查看本机显卡驱动:430.501.2查看Opencv版本号 :3.4.01.3查看cuda版本:V10.0.1301.4查看当前python版本号二、 安装caffe2.1安装依赖2.2 caffe 下载及protobuf3安装2.3 caffe 配置文件修改2.4 编译caffe2.5 增加python路径2.6 测试caffe安装成功总结
# 文章目录

前言

参考博客

/tingtie1438/article/details/82085199

Ubuntu16.04系统的python3.5+caffe+opencv3.4.0+cudnn7.0+cuda9.0 安装过程(全过程详细整理)

/qq_42998120/article/details/105567998

ubuntu16.04系统下NVIDIA驱动、cuda和cuDNN的安装及版本对应关系

/avideointerfaces/article/details/89111955

海思AI芯片(Hi3519A/3559A)方案学习(十)将yolov3的darknet模型转换为caffemodel

本文的主要目的是实现darknet模型转caffmodal,用于海思平台的深度学习算法移植,海思平台只支持caffe框架,所以首先要安装caffe,caffe安装确实不容易,网上到处都是踩坑文,本人也基本上全踩了一遍才安装成功。最重要的事情就是在安装过程中一定要注意python、opencv cuda及cudnn版本的匹配,

注意:如果cuda>9.0 建议不要用python2.7了,安装caffe runtest那里过不了,即使忽略过去,后面转换模型也不成功。因此本文最后用python3.5安装成功,过程也是比较坎坷。


一、系统已有环境检查

本机的显卡是RTX2080ti,安装caffe前本机显卡驱动,opencv cuda及cudnn已安装好。参考博文/qq_42998120/article/details/105567998。

1.1查看本机显卡驱动:430.50

指令如下:

nvidia-smi

显卡驱动信息

1.2查看Opencv版本号 :3.4.0

$ pkg-config opencv --libs # 查看opencv已安装的库$ pkg-config opencv --modversion # 查看opencv已安装的版本

1.3查看cuda版本:V10.0.130

nvcc -V

1.4查看当前python版本号

python

如何 把系统当前默认的python版本切换到python3.5?

sudo rm python#删除原来的pythonsudo ln -s python3 python #建立python3.5的软连接

最后输入python,看看终端结果是否是python3.5

二、 安装caffe

2.1安装依赖

安装后续步骤或环境必需的依赖包 在终端依次输入以下命令:

sudo apt-get install python3-pipsudo apt-get install python-numpysudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install libopenblas-dev liblapack-dev libatlas-base-devsudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devsudo apt-get install git cmake build-essential。

参考原文链接:/tingtie1438/article/details/82085199

安装以上指令要注意

1 .Python3.5配置caffe,有protobuf>=3的要求,这个之前安装不成的时候没有注意到,可能和这个版本有关。

安装过程在caffe下载完之后

2. 通过指令sudo apt-get install --no-install-recommends libboost-all-dev 安装boost_python

python3.5 匹配的版本是1.58.0 ,本机直接安装的是1.54的版本,和python3.5不匹配,后面转换模型的时候提示C++不能支持,回头又定1.58版本安装

可通过指令查询系统的boost_python

ldconfig -p | grep boost_python

本机通过定版本安装1.58.0

aptitude search boost |grep 1.58 #查询1.58的boost版本sudo apt-get install libboost-boost1.58-dev #指定boost版本安装

2.2 caffe 下载及protobuf3安装

1 在你要安装的路径下 clone :

git clone /BVLC/caffe.git

2 进入 caffe 目录 ,按照以下指令安装protobuf3。

这个过程安装比较顺利,基本没有问题,按照下面指令安装就行,注意目录:首先要进入caffe目录,后面创建的目录都仔细检查以下。

mkdir protobuf && cd protobufmkdir cpp && cd cppwget /google/protobuf/releases/download/v3.0.0/protobuf-cpp-3.0.0.tar.gztar xvf protobuf-cpp-3.0.0.tar.gz && cd protobuf-3.0.0./configure && makemake checksudo make installsudo ldconfigcd ../..mkdir python && cd pythonwget /google/protobuf/releases/download/v3.0.0/protobuf-python-3.0.0.tar.gztar xvf protobuf-python-3.0.0.tar.gz && cd protobuf-3.0.0/python/python setup.py buildpython setup.py testpython setup.py install

参考链接:/tingtie1438/article/details/82085199


3 之后查看当前protobuf版本,是否升级到3.0.0,普通账户和root账户最好版本相同

protoc --version sudo protoc --version

2.3 caffe 配置文件修改

1 进入caffe目录下

将 Makefile.config.example 文件复制一份并更名为 Makefile.config ,也可以在 caffe 目录下直接调用以下命令完成复制操作 :

sudo cp Makefile.config.example Makefile.config

2 修改Makefile.config

sudo gedit Makefile.config

修改如下:

a)应用 cudnn

将#USE_CUDNN := 1修改成: USE_CUDNN := 1

b)应用 opencv 版本

将#OPENCV_VERSION := 3 修改为: OPENCV_VERSION := 3

c)使用 python 接口

将#WITH_PYTHON_LAYER := 1 修改为 WITH_PYTHON_LAYER := 1

d)修改 python 路径

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/includeLIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 修改为: INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serialLIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

e)重要的是修改python的版本,文件中默认配置的版本是2.7

把2.7版本的注释去掉,修改python3.5的版本配置。

PYTHON_LIBRARIES := boost_python python3.5mPYTHON_INCLUDE := /usr/include/python3.5m \/usr/lib/python3.5/dist-packages/numpy/core/include\/usr/local/lib/python3.5/dist-packages/numpy/core/include

这里的库名boost_python就是之前依赖安装的1.58的版本,注意要做以下软链接的修改

sudo ln -s libboost_python-py35.so libboost_python.sosudo ln -s libboost_python-py35.a libboost_python.a

f) 跟cuda版本有关的

注意 CUDA >= 9.0 要把前两行注释掉

# For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility.CUDA_ARCH := #-gencode arch=compute_20,code=sm_20 \#-gencode arch=compute_20,code=sm_21 \

3 修改 caffe 目录下的 Makefile 文件

将:NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)替换为:NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

将:LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5改为:#LIBRARIES += glog gflags protobuf boost_system boost_filesystem m#LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serialLIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial hdf5_hl hdf5 opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs leveldb snappy lmdb

2.4 编译caffe

修改好以上两个文件就可以开始编译了,在 caffe 目录下执行

sudo make cleansudo make all -j4sudo make runtest -j4 Sudo make pycaffe -j4

如果没有问题,最后三个指令运行成功截图如下:

2.5 增加python路径

gedit ~/.bashrcexport PYTHONPATH=/home/mina522/caffe/python:$PYTHONPATH

刷新路径

source ~/.bashrc

2.6 测试caffe安装成功

pythonimport caffe

如果没有提示错误,至此caffe已安装配置成功。上面的配置是在踩坑后完善的,如果按照上述过程还有坑,就继续百度吧。

补充:import caffe 的过程中遇到ImportError:No module named skimage.io

在python3环境下以下指令解决:

sudo pip3 install scikit-image

总结

安装过程比较坎坷,刚开始用系统自带的python2.7环境进行配置安装,到了runtest那里怎么都不过,提示错误好像跟cuda有关,怀疑cuda版本太高,但又不能降级cuda版本,因为显卡驱动有最低支持的版本。因此就想到升级python配置安装,直接下载了一个Python3.10,装到中间发现好像caffe支持不了高版本的Python,好像一篇文章看到最高支持到python3.6,汗汗汗,又把系统的python版本切换到自带的3.5,参考之前各位大神文章,通过上述过程安装成功。

最后总结在安装任何软件的时候,一定要首先确认下自己系统的环境,包括不限于操作系统版本、依赖软件的版本,不过没关系,踩过的坑都是经验,通过反复不断的安装,对自己系统越来越清晰,各种指令用的都可以直接打出来了,再也不用到处复制粘贴了!

好久没有写文了,发现csdn的模板超级好用,文章写完看起来结构还算清晰,如果有错误之处,欢迎留言指出。

海思Hi3519AV100深度学习方案(一)darknet转caffmodel之caffe安装(基于Ubuntu16.04+python3.5+opencv3.4.0+cuda10.0)

如果觉得《海思Hi3519AV100深度学习方案(一)darknet转caffmodel之caffe安装(基于Ubuntu16.04+》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。