安装Caffe纪实
Posted 公迪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装Caffe纪实相关的知识,希望对你有一定的参考价值。
第一章 引言
在ubuntu16.04安装caffe,几乎折腾了一个月终于成功;做一文章做纪要,以便日后查阅。总体得出的要点是:首先,每操作一步,必须知道如何检验操作的正确性;笔者的多次失误是因为配置错误,但疏于检查引起;当然有些错误是ubuntu本身的bug;笔者不知,只能来来回回‘鬼打墙’直到某日发现;另一个经验只谈是对每一个支撑尽量知道它是用来干什么的,多百度几下没有坏处;最后一个经验是,对系统的基本结构要要框架了解,比如,通过apt-get的软件放在哪里,通过make install的软件又放在哪里;还有,编译的时候各种文件支持和路径支持在什么地方,这些诸多要素只能是点点滴滴积累。
本次安装目标:
1)保证是GPU版本的;
2)保证对Python支持;
第二章 安装ubuntu16-0-4
2.1 安装
这个过程基本没啥说的,有三个要点;
1)需要选择中文(否则就等着重装吧!);
2)要有WIFI先连上,这样省点时间;
3)安装好以后,进入系统; 立刻执行
>>>sudo apt-get update
>>>sudo apt-get upgrade
2.2 可能出现的出错提示和解决
出现:AppStream cache update completed, but some metadata was ignored due to errors;或
error message due to invalid AppStream file
这是ubuntu本身的bug,参考文;笔者是通过更换数据源反复执行sudo
apt-get update和sudo
apt-get upgrade完成,注意,这步很重要,很多编译错误从这里产生。
出现:
下列软件包的版本将保持不变:
gnome-software gnome-software-common liboxideqt-qmlplugin
liboxideqtcore0
liboxideqtquick0 oxideqt-codecs snapd
ubuntu-core-launcher ubuntu-software
升级了
0
个软件包,新安装了
0
个软件包,要卸载
0
个软件包,有
9
个软件包未被升级
解决:sudo apt-get install gnome-software
sudo apt-getinstall liboxideqt-qmlplugin
sudo apt-get install snapd
一般不必装9个就可以,因为互相依赖,每装一个,同时将依赖包装好。
2.3安装质量检验
sudo apt-get update
sudo apt-get upgrade
最后出现下面提示就OK了:
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级,
到此,ubuntu安装成功!
第三章 安装Nvidia驱动程序,让屏幕绚起来
3.1 安装英伟达驱动
sudo
add-apt-repository ppa:graphics-drivers/ppa
(回车后继续)
sudo
apt-get update
sudo
apt-get install nvidia-367
sudo
apt-get install mesa-common-dev
sudo
apt-get install freeglut3-dev
3.2 重新启动操作系统
之后重启系统让GTX1060显卡驱动生效 。
进入全新界面,立刻执行
sudo apt-get update 和 sudo apt-get upgrade 这一对指令。
3.3 安装质量检验
1检查指令:
运行:nvidia-smi 和nvidia-settings 分别看到效果;
** Message: PRIME: No offloading required. Abort
** Message: PRIME: is it supported? No
这种提示属于正常。
2 检查程序;测试OpenGL:
#include <GL/glut.h>
void init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glOrtho(-5, 5, -5, 5, 5, 15);
glMatrixMode(GL_MODELVIEW);
gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
return;
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0, 0);
glutWireTeapot(3);
glFlush();
return;
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(0, 0);
glutInitWindowSize(300, 300);
glutCreateWindow("OpenGL 3D View");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
编译程序:gcc -o test test.c -lGL -lGLU -lglut
test:执行后显示窗口。
3.4 另一法--安装Nvidia显卡驱动
首先,禁用可能导致问题的开源驱动,编辑/etc/modprobe.d/blacklist.conf
;
sudo vim /etc/modprobe.d/blacklist.conf
添加以下内容:
blacklist amd76x_edac
blacklist vga16fb
blacklist nouveau
blacklist nvidiafb
blacklist rivatv
卸载干净所有安装过的nvidia驱动;
sudo apt-get remove --purge nvidia-*
执行以下命令添加驱动源;
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
以下步骤建议Ctrl+Alt+F1
切换到tty1
执行;
sudo service lightdm stop
sudo apt-get install nvidia-375 nvidia-settings nvidia-prime
sudo nvidia-xconfig
sudo apt-get install mesa-common-dev //
安装缺少的库
sudo apt-get install freeglut3-dev
sudo update-initramfs -u
sudo reboot
重启应该就不会遇到循环登录的问题;
第四章 安装cuda8.0
4.1 下载安装cuda8.0
下载 cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb
将它存入目录/home/tmp,并进入>>>cd /home/tmp,接着执行:
>>>sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb
>>>sudo apt-get update
>>>sudo apt-get install cuda
4.2 配置cuda环境
配置环境变量1:
执行
>>> sudo gedit ~/.bashrc
进入gedit编辑器,在文件的尾部,加入:
export PATH="/usr/local/cuda-8.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
更周全的写法是:
if
[ ! -n "$PATH" ] ;then
export PATH="/usr/local/cuda-8.0/bin"
else
export PATH="/usr/local/cuda-8.0/bin:$PATH"
fi
if [ ! -n "$LD_LIBRARY_PATH" ]
;then
export
LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64"
else
export
LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
fi
存盘退出;执行:
>>> source ~/.bashrc
(此处最好用
echo
$PATH echo $LD_LIBRARY_PATH 检查一下有没有错误,非常重要!!)
配置环境变量2:
执行:
>>>
sudo gedit /etc/profile
在打开的文件末尾加入:
export PATH="/usr/local/cuda/bin:$PATH"
(等号后不可有空格)
更严密的写法:
if
[ ! -n "$PATH" ] ;then
export PATH="/usr/local/cuda/bin"
else
export PATH="/usr/local/cuda/bin:$PATH"
fi
创造链接:
>>> sudo gedit
/etc/ld.so.conf.d/cuda.conf
在打开的文件末尾加入:(此时为空文件)
/usr/local/cuda/lib64
然后执行:
>>> sudo ldconfig
4.3检查cuda的安装
进入cuda的安装路径,
>>>
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
编译:
>>>
sudo make
>>>
sudo ./deviceQuery
(执行编译后的测试程序)
显示:
一整屏幕的信息
;
最后一句是:
Result = PASS
此时说明
cuda
安装成功,因为后面的操作可能破坏
cuda
,操作前后经常检查
cuda
是否
OK.
第五章
安装
CUDNN5.1
和
python
5.1
安装
cudnn
部分
下载
cudnn
,费时很长,建议下载后保存。
解压:
tar
-zxvf cudnn-8.0-linux-x64-v5.1.tgz
此步骤后,生成
cuda
目录
;
进入
cuda
后,有
include
和
lib64
两个子目录
。进入
include
目录:
sudo
cp cudnn.h /usr/local/cuda/include/
#
复制头文件
退出
include;
进入
lib64
目录:
sudo cp lib* /usr/local/cuda/lib64/ #
复制动态链接库
进入目标目录:
cd /usr/local/cuda/lib64/
修改文件软链接:
sudo rm -rf libcudnn.so libcudnn.so.5 #
删除原有动态文件
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #
生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #
生成软链接
(
源目录中有两个软链接,
libcudnn.so libcudnn.so.5
,将他们删除,建立你具体版本
5.1.5
的软链接
)
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
给所有用户增加这些文件的读权限
;
5.
2
升级
python
部分
1
基本
python
python Caffe片段
Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新)