一把鼻涕一把泪:在搭载anaconda3+opencv3.4+caffe-ssd+pyqt5一个星期无果之后重新把电脑装回了原先的样子重新安装,在此也重新写了一遍教程
(吧里有哪位同志可以成功安装的话希望给予建议呀!感激不尽!)
参考同门研三的一位师兄:https://blog.csdn.net/linyu2016/article/details/78903243
1,安装显卡驱动(采用懒人方式)
one:在“软件与更新”的第二项(另外源)的 canonical partners 打上沟,或者全部都打钩(保险起见)
second:在倒数第二项的 “附加驱动”里,系统会自动搜索N卡驱动,选择优先级高的英伟达驱动安装,重启
注意:
third:一般需要重启才能检测到安装成功:终端输入sudo nvidia-smi
若列出了GPU的信息列表则表示驱动安装成功。
2,安装cuda9.0:
从cuda官网下载对应版本的(我用的是1050ti显卡,下载的是cuda9.0)
one:进入cuda下载的文件夹:
输入以下命令:
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb (具体 看实际的包)
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub(若cuda<9.0的,就不用,具体在下载的网页有提示)
sudo apt-get update
sudo apt-get install cuda
安装完成后, 重启一下;
3,安装cudnn7.1
安装cuDNN (计算能力小于3.0的,不兼容cudnn的英伟达显卡不需要装cudnn,则忽略此步骤)
注册,然后下载,(注册邮箱最好是使用国外邮箱[Google, apple], 验证邮件很快就能收到),选择对应版本,可以与cuda相同的版本,或者比它小的版本。
切换到cudnn所在的目录下
sudo tar -zxvf cudnn-9.0-linux-x64-v4.0-prod.tgz (具体看实际的包)
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
cd /usr/local/cuda/lib64/
ls
sudo chmod +r libcudnn.so.7.0.5(具体的版本要自己查)
sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7 #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
sudo ldconfig -v
4,设置环境变量,
在/etc/profile中添加CUDA环境变量
sudo gedit /etc/profile
在打开的文件最后加入如下3句话
export PATH=/usr/local/cuda/bin:
P
A
T
H
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
/
u
s
r
/
l
o
c
a
l
/
c
u
d
a
/
l
i
b
64
:
PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:
PATHexportLDLIBRARYPATH=/usr/local/cuda/lib64:LD_LIBRARY_PATH
export PYTHONPATH=/home/用户名/caffe/python:$PYTHONPATH (具体注意用户名)
保存后, 使环境变量立即生效,
source /etc/profile
sudo gedit ~/.bashrc
在打开的文件最后加入如下3句话
export PATH=/usr/local/cuda-9.0/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}(具体要注意cuda的版本号)
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64KaTeX parse error: Expected '}', got 'EOF' at end of input: …LIBRARY_PATH:+:{LD_LIBRARY_PATH}}(具体要注意cuda的版本号)
export PYTHONPATH=/home/用户名/caffe/python:$PYTHONPATH
source ~/.bashrc
进入/usr/local/cuda/samples, 执行下面的命令来build samples,
cd /usr/local/cuda/samples
sudo make all -j16(如果电脑CPU比较低,则用-j16或者不加)
全部编译完成后, 进入
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery(具体要注意cuda的版本号)
sudo ./deviceQuery
如果出现显卡信息,结果为pass, 则驱动及显卡安装成功。
5,下载anaconda2,到官网下载,安装步骤很简单
6,下载caffe-ssd:
首先下载caffe需要的依赖,因为用的是anaconda,可能会出现hdf5冲突,所以整理后将依赖如下:(必须全都下载)
pip install easydict protobuf pydot
conda install -c anaconda hdf5=1.8.17 (make runtest的时候报错,提示下载这个版本)
sudo apt-get install graphviz libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libopenblas-dev liblapack-dev libatlas-base-dev libgflags-dev libgoogle-glog-dev liblmdb-dev python-tk python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags
sudo apt-get install --no-install-recommends libboost-all-dev
下载caffe:
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd
进入caffe根目录:
sudo cp Makefile.config.example Makefile.config
sudo gedit Makefile.configu
按照如下:## Refer to http://caffe.berkeleyvision.org/installation.html
USE_CUDNN := 1
CUDA_DIR := /usr/local/cuda
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
BLAS := atlas
#PYTHON_INCLUDE := /usr/include/python2.7
/usr/lib/python2.7/dist-packages/numpy/core/include(将系统的python注释掉)
ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include
$(ANACONDA_HOME)/include/python2.7
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \(使用anaconda的python注释掉)
#PYTHON_LIB := /usr/lib
PYTHON_LIB := $(ANACONDA_HOME)/lib
WITH_PYTHON_LAYER := 1
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/hdf5/serial
保存之后退出:
打开Makefile:(不是Makefile.config)
sudo gedit Makefile
181行:改为LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
265行:LIBRARIES += boost_thread stdc++ boost_regex
保存退出!
开始编译:
sudo make all -j16
sudo make runtese -j16
sudo make pycaffe -j16
sudo make pytest -j16
此处pytest会有地方报错…一直未能解决,但是后面发现好像不影响哈哈
2018.3.8补充,将conda的scipy包升级,问题解决