我的电脑配置是
GPU RTX 2080显卡
CPU i7-8700 3.2GHz
从安装好ubuntu16.04系统开始说起:
1.安装好系统后,第一步安装google浏览器和搜狗输入法,并更新好系统配置。
google浏览器和搜狗输入法都可以直接通过浏览器直接搜索软件下载安装,提供ubuntu版本。
2.更改源:勾选源代码,选择aliyun源
3.安装显卡驱动:
3.1安装依赖项,按照顺序复制到终端安装即可:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
3.2卸载电脑已经有的nvidia显卡驱动:
sudo apt-get remove –purge nvidia*
3.3添加一个PPA到系统,等一下安装驱动要用的
sudo add-apt-repository ppa:graphics-drivers/ppa
3.4执行下面的命令让上面执行的命令生效,然后重启电脑:
sudo apt-get update
3.5安装显卡驱动:
重启过后,打开系统设置,选择软件和更新,选择附加驱动,这里就会显示你的显卡所能安装的显卡,我在这里安装了NVIDIA 418.56 直线选择这个驱动,然后点击应用更改即可。静静等待安装,然后重启电脑后,显卡就安装成功了。
在终端里面输入:nvidia-smi 可以查看当前显卡驱动情况
4.安装CUDA
4.1首先去官网下载你想安装的CUDA版本,我在这里安装是CUDA10.0
4.2下载好后放在home文件下
打开一个新的终端,在终端输入:
sudo chmod 777 cuda_10.0.130_410.48_linux.run
然后输入:
sudo ./cuda_10.0.130_410.48_linux.run
开始安装,点击q进入安装界面,然后按照下面的操作进行安装,就是显卡驱动选择N 别的都Y 或者空格就行了。
等待一会就提示下图所示,显示已经安装成功了。
4.3环境变量的配置
打开~/.bashrc文件: sudo gedit ~/.bashrc
将以下内容写入到~/.bashrc尾部:
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
你安装什么版本的CUDA就要改成什么版本,我这里安装的10.0 所以里面是10.0
ctrl +s 保存 再退出
4.4 测试example,打开终端执行下面命令
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery
出现如下界面显示CUDA成功
5.安装Cudnn
一般计算力大于3才行,也可以不安装。
这是cudnn官网,https://developer.nvidia.com/rdp/cudnn-download在这里下载对应的cudnn版本,需要提前注册一个NVIDIA账号才能下载。
选择 cuDNN library for linux 下载好后,
解压sudo tar -zxvf ./cudnn-10.0-linux-x64-v7.6.0.tgz
解压出来一个叫cuda的文件夹,该文件夹下有include 和 lib64 两个文件夹,命令行进入其中的include 文件夹路径下,然后进行以下操作:
sudo cp cudnn.h /usr/local/cuda/include/
然后命令行进入cudn/lib64 文件夹路径下,运行以下命令:(这里针对的是cudnn7.6.0的安装,其他版本修改对应的办版本名称即可)
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件
sudo ln -s libcudnn.so.7.6.0libcudnn.so.7 #生成软衔接
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
随后需要将路径/usr/local/cuda/lib64 添加到动态库:
1.终端输入:
sudo gedit /etc/ld.so.conf.d/cuda.conf
添加:
/usr/local/cuda/lib64
保存退出;在终端下输入 sudo ldconfig 命令使上面链接生效,软链接后用sudo ldconfig -v 命令查看是否成功:
显示下面界面表示成功:
最后一步,验证是否安装成功:
终端输入:nvcc -V 出现下界面则证明cudnn安装成功:
6安装opencv3.4.5
参考博客:https://mp.csdn.net/mdeditor/88680475#
按照教程来安装即可;这个教程下载的是3.3.1,我在安装3.3.1这个版本发现和CUDA10.0不兼容,然后换成3.4.5后就不会出现错误,按照这个教程也是可以安装的。
7.1 安装相关依赖项:
sudo apt-get install libprotobuf-dev
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-pip
sudo apt-get install gfortran
sudo apt-get install python-protobuf
sudo apt-get install python-skimage
sudo apt-get install --no-install-recommends libboost-all-dev
7.2.使用Git 从github上下载Caffe ,
地址:https://github.com/BVLC/caffe
在终端执行命令:
git clone https://github.com/BVLC/caffe
下载完成后,在home文件下面用Caffe文件夹
我们接下来按照下面的步骤进行安装Caffe:
1.生成Makefile.config文件,将caffe目录下自带的Makefile.config.example文件复制一份并更名为Makefile.config,命令如下:
cp Makefile.config.example Makefile.config
2.修改配置文件
执行下面命令,打开makefile.config文件:
sudo gedit Makefile.config
根据自己情况修改:
a.若使用cudnn,将:
#USE_CUDNN := 1
修改为:
USE_CUDNN := 1
b.使用opencv3版本 则:
将:
#OPENCV_VERSION := 3
修改为:
OPENCV_VERSION := 3
c.使用Python接口:
#WITH_PYTHON_LAYER := 1
修改为
WITH_PYTHON_LAYER := 1
d.修改Python路径,将:
NCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
e.去掉computer_20:
找到:
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61
修改为:
CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61
因为从CUDA9.0后就不在支持compute_20了,这里不修改的话编译的时候就会报错;
3.到这里我们就可以编译Caffe了,依次执行下面命令:
make all -j8
make pycaffe
make test -j8
make runtest -j8
如果上面的步骤都按照完成的话,make就不会出错,只要make不出错的话,下面的三句命令就会顺利编译完成,需要一点时间。如果make错误的话,针对错误的命令去找解决,一定要耐心,都是可以解决的。
4.修改环境变量:
就是将caffe中的Python导入到解释器中。
执行下面命令打开配置文件bashrc
sudo gedit ~/.bashrc
在文件最后添加:
export PYTHONPATH=/home/zixiang/caffe/python:$PYTHONPATH
在这里一定要注意不能直接复制,这里的路径是自己home文件夹安装Caffe时里面Python接口的路径。所以根据自己安装的地址修改即可,一般只要对应的修改我这个路径里面的zixiang这个名称位置即可。
修改后保存退出,执行下面预命令让修改生效
sudo source ~/.bashrc
5.验证Python接口
在终端中打开Python环境,在Python环境下输入下面命令:
import caffe
没有报错的话就说明Caffe已经安装成功,到这里我们就已经配置好全部的环境了,下面就可以针对自己的目的需要去下载其他的算法。配置环境道理不容易,要耐心,心细。
1.[Errno 13] 权限不够: '/usr/local/lib/python2.7/dist-packages/cloudpickle’
ERROR::未找到命令
解决方案:在安装软件的时候在install后面加上 --user即可
pip install --user scikit-image
2.Traceback (most recent call last): File “/usr/bin/pip”, line 9, in < module >
解决方案 :
将 /usr/bin/pip 文件中:
from pip import main
if __name__ == '__main__':
sys.exit(main())
改为:
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
3.ImportError: No module named skimage.io
错误提示:
>>> import caffe
Traceback (most recent call last):
File "" , line 1, in <module>
File "caffe/__init__.py", line 1, in <module>
from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
File "caffe/pycaffe.py", line 15, in <module>
import caffe.io
File "caffe/io.py", line 2, in <module>
import skimage.io
ImportError: No module named skimage.io
解决方案;
缺乏skimage工具箱
pip install --user scikit-image
参考博客:
https://blog.csdn.net/A_Z666666/article/details/72853346
https://blog.csdn.net/la_fe_/article/details/81516370
https://blog.csdn.net/balixiaxuetian/article/details/79154013