ubuntu16.04、2080Ti、Caffe从0开始安装
一、安装操作系统 点击此处返回总目录 二、安装Nvidia显卡驱动 三、安装CUDA 四、安装cuDNN 五、安装anaconda(可以不装而且最好不装) 六、安装openCV(不装也可以编译Caffe) 七、编译安装Caffe 八、编译PyCaffe
配置 服务器:联想TS430
一、安装操作系统 1.准备操作系统 下载的是:
2. 准备一个空U盘。格式化一下。
3. 制作U盘启动盘。 我本来使用大白菜做的,但是装的时候报错:
然后又使用UltraISO来做的,就没有问题。 怎么制作U盘启动盘可以参考:http://sh.qihoo.com/pc/9c8f208ba31f8c49a?cota=4&tj_url=xz&sign=360_e39369d1&refer_scene=so_1 过程如下:
1) 下载UltraISO: http://www.pc6.com/softview/SoftView_13698.html 2)安装UltraISO 3)打开镜像文件 4)启动->写入硬盘镜像->写入 5)完成可以看到U盘内容不是空的了。
4. 将U盘插入到服务器上,重启服务器。
开机会出现以下界面:
按F1(enter setup)可以进入BIOS。但是只按F12就可以选择从哪里启动,不需要到BIOS里面设置。 启动时按F12,进入以下界面: 选择第三个(我的U盘的名字)。
5. 安装操作系统 1) English、Install Ubuntu
2) 第三方依赖
3) 不要以前的系统了。
4)时区
5)键盘
6)用户名\密码
7)安装
6. 修改IP 1)
2)第一个表示这个网口没有查网线,第二个表示这个网口连着。
3) 打开连着的网口,修改IP等。
【问题一】 修改完IP之后,虽然能够ping通,但是使用putty连不上。
解决: 可能出现的问题是没有安装:openssh server。 使用命令sudo apt install openssh-server安装即可。
【安装vim】 sudo apt-get install vim
二、安装Nvidia显卡驱动 1. 到官网上下载自己GPU对应版本的显卡驱动。 下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn 我下载的是NVIDIA-Linux-x86_64-418.43.run,有101M。
下载完为:
放入到/home/lpc/Downloads/下面。
2. 屏蔽自带的显卡驱动 1) vim /etc/modprobe.d/blacklist.conf 2) 在最后一行加上:blacklist nouveau ,这里是将Ubuntu自带的显卡驱动加入黑名单 3) 在终端输入:sudo update-initramfs –u,使修改生效 4) 重启电脑
5) 打开终端输入lsmod | grep nouveau,没有输出,则屏蔽成功
3. 安装显卡驱动 1)关闭 2)Ctrl + Alt + F1进入命令行界面:
3)输入root用户名密码 4)cd /home/lpc/Downloads chmod +x NVIDIA-Linux-x86_64-430.14.run ./NVIDIA-Linux-x86_64-430.14.run
5)sudo service lightdm start 发现分辨率高了很多,非常清晰了。输入nvidi-smi可以看到显卡的情况。
参考了:https://www.cnblogs.com/xinyf/p/5960480.html
三、安装CUDA 1. 下载CUDA 下载地址:https://developer.nvidia.com/cuda-downloads
下载完为:
保存到/home/lpc/Downloads/下
2. 安装 su - root ./cuda_10.1.168_418.67_linux.run
Driver不选,因为已经安装过了。
su - lpc vim ~/.bashrc 添加两行: source ~/.bashrc
3. 测试是否安装成功 su - root cd /usr/local/cuda/samples/1_Utilities/deviceQuery make ./deviceQuery 出现以下信息说明安装成功。
四、安装CuDNN
1. 下载 网址:https://developer.nvidia.com/rdp/cudnn-download 用户名:[email protected] 19...hz..***
下载后为: 有400多兆。 放入到/home/lpc/Downloads/下。
2. 安装 tar -xvf cudnn-10.1-linux-x64-v7.6.0.64.tgz 解压后为一个目录cuda,里面有一个include文件夹和lib64文件夹
cp include/cudnn.h /usr/local/cuda/include/ cp lib64/lib* /usr/local/cuda/lib64/ sudo chmod a+r /usr/local/cuda/include/cudnn.h sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
因为我的/usr/local/duda/lib64本来也没有libcudnn.so和libcudnn.so.7等文件,所以不需要增加软连接。如果之前有的话还需要新建文件,增加软连接。
3. 验证cudnn是否安装成功
还是刚才的网址。
我没有测,如果想测的话可以参考: https://blog.****.net/caicaiatnbu/article/details/87626491 我没试。
五、安装anaconda(可以不用装且最好不用装) 如果使用单一环境,建议不要装anaconda。装了之后,后面编译Caffe的时候可能会报奇怪的错误。我这次装了,后面编译也通过了。 但是在装Ubuntu14.04的时候就没通过,然后卸载掉anaconda再装才好了。
下载anaconda: https://www.anaconda.com/distribution/
下载后为: 有652M
放到/home/lpc/Downloads下
1) ./Anaconda3-2018.12-Linux-x86_64.sh 2) enter
3)yes
4)enter
5)no。不要该环境变量。
6)
7)添加环境变量 vim ~/.bashrc
source ~/.bashrc
8)验证 输入conda --version,可以看到版本信息
六、安装openCV(不安装不影响Caffe的编译) 1. 下载 网址:https://pypi.org/project/opencv-python/#files 因为安装的python是3.7的,所以opencv名字中要是"cp37"的。 想要安装opencv3,所以名字中要为opencv_python-3.**** 我的系统是linux 64位的的,所以名字要是***linux1_x86_64** 最终下载了这一个: 有24.2M
放到/home/lpc/Downloads下。
2. 安装 pip install opencv_python-4.0.0.21-cp37-cp37m-manylinux1_x86_64.whl
3. 检查
如果还不放心,可以编写一个例子试试: //test.py
python test.py
七、编译、安装caffe 1. 下载caffe git clone https://github.com/BVLC/caffe.git 下载完之后是一个目录caffe
2. 安装依赖项
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. 安装python的一些包 另外,为了支持python,还要装一些python的包。 进入到caffe/python/下,查看requirements.txt
装的时候检查检查,尤其是用anaconda的时候,大部分都已经装了。不用再重装。
4. 修改配置文件
cd caffe cp Makefile.config.example Makefile.config vim Makefile.config
(1)将第5行注释去掉。表示我们使用cuDNN
(2)将23行注释去掉。表示我们使用opencv3版本。
(3)若要使用python来编写layer,则将94行注释去掉。
(4)将97/98行后面增加几个目录 这是因为Ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径。
(5)将:
改为:
(6)
(7) 将: 修改为:
vim Makefile (1)将425行:
修改为:
5. 编译 su - lpc //当用root编译的时候报找不到包的错误,改成lpc用户就好了。应该是因为我在bashrc中添加了路径的原因。 make all -j8 最后除了报一个warning之外,没有报错误。
另外,编译的时候还有一个opencv的错误,我当时就把Makefile中的opencv:3那一句又给注释掉了。这里可能是个隐患。报错如下:
最后成功编译之后长这样:
清清爽爽,干干净净~~
6. 测试(可跳过) sudo make runtes
出现以下结果说明成功。
我在测试的时候,遇到了以下问题:
我参考了这个人的方法解决了:https://blog.****.net/CAU_Ayao/article/details/83538794 cd /etc/ld.so.conf.d touch anaconda3.conf vim anaconda3.conf,内容为:
sudo ldconfig 然后再编译就通过了。 (慎用该方法,不知道ldconfig这条命令是干嘛的。)
八、编译pycaffe 前面已经安装了库了。 make pycaffe -j8
这样就编译成功了。 vim ~/.bashrc 增加一句 source ~/.bashrc
然后,python import caffe看看能不能成功。
我在import的时候遇到了以下问题:
说是没有protobuf这个库。 但是我用apt-get命令装的时候,显示已经装过了。 我猜可能是找不到吧。因此我又用conda装了一遍,就好了。
|