什么是Caffe?
caffe
(ConvolutionalArchitecture for Fast Feature Embedding)是由伯克利视觉和学习中心(BVLC)开发,基于C++/MATLAB/Python实现的卷积神经网络
框架,作者贾杨清。
它能完成的任务只是卷积神经网络,其他的神经网络RNN等,它是没有能力实现的。另外,caffe是主要用来做计算机视觉方向的。
内部提供了一套基本的编程框架,或者说一个模板框架,用以实现GPU并行架构下的深度卷积神经网络,Deep Learning等算法,我们可以按照框架定义各种各样的卷积神经网络的结构,并且可以再此框架下增加自己的代码,设计新的算法,该框架的一个问题就是,只能够使用卷积网络,所有框架都是再基于卷积神经网路的模型上进行的。
与caffe类似的框架还有google的TensorFlow,facebook的pytorch。
虽然TensorFlow和pytorch的功能更加强大,但是caffe有配置方便、不用编译,灵活易用等特点,广受欢迎,开源项目多、社区活跃,适合快速应用。
为什么在linux下使用?
1.caffe最初只在linux上提供服务,大量开源项目网络都是在linux完成,无法运行在windows版caffe,经常使用的第三方模块在windows下会出现各种难以解决的问题,所以一般的生产力环境大多使caffe工作在linux系统下。
2.linux下caffe使用配置更加方便,不需要windows系统下复杂的环境配置。
caffe安装教程
1.配置要求
系统要求:Ubuntu 16.04
ububtu 是最常见的个人桌面linux系统,具有较好的图形界面能力和使用体验,计算机视觉工作一般都以ubuntu系统作为载体。
硬件要求: intel处理器和nvida显卡
深度学习任务对计算机性能要求较高,因为系统主要使用显卡进行cuda计算,因此对CPU的要求并不是很高,但需要较强性能的显卡进行复杂的单精度运算
通常神经网络需要大量显存和内存资源,因此需要8GB以上显存和显存两至三倍的内存才能够胜任计算机视觉任务,一般选择GTX1080以上配置。
硬盘:能够装下大量训练数据即可。
电源:保证长时间不断电
2.安装caffe
卷积神经网络需要cuda计算,和cudnn加速,需要先完成驱动安装、cuda安装、cudnn安装
1.显卡驱动安装
1.首先卸载旧版本显卡驱动:
$sudo apt-get purge --remove nvidia* 命令卸载旧版本
2.添加驱动源
$sudo add-apt-repository ppa:graphics-drivers/ppa
$sudo apt update
3.安装驱动
首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型。执行命令:
ubuntu-drivers devices
输出结果为:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001B81sv000019DAsd00001434bc03sc00i00
vendor : NVIDIA Corporation
model : GP104 [GeForce GTX 1080 Ti]
driver : nvidia-driver-396 - third-party free
driver : nvidia-driver-390 - third-party free
driver : nvidia-driver-415 - third-party free recommended
driver : nvidia-driver-410 - third-party free
driver : xserver-xorg-video-nouveau - distro free builtin
从中可以看到,这里有一个设备是GTX 1080 ,对应的驱动是nvidia-driver-396,415,410 ,而推荐是安装415版本的驱动
$sudo apt install nvidia-driver-415 此处需上nvida官网查询最新驱动版本
OK 驱动安装完成,重新启动,查看系统配置---》详细信息---》关于 ,图形处理是否对应于自己的独立显卡。
在终端输入
nvidia-smi
显示如下显卡信息即完成安装
2.安装CUDA(针对18.04)
cuda是nvida提供的的科学计算
1.查阅 NVIDIA CUDA Installation Guide for Linux
英伟达CUDA安装指南(Linux)对于后续的学习与工作大有裨益,包含了CUDA的详尽安装说明。当然如果你不想阅读英文,只想尽快安装CUDA,可以参照后续步骤。
2.前往官网下载对应系统版本安装
3.进入下载文件所在文件夹,在终端输入
$sudo sh cuda_8.0.61_375.26_linux.run 这是文件名
若无法安装,下载deb(local),输入
$sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb 这是文件名
$sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
$sudo apt-get update
$sudo apt-get install cuda
看完版权声明后完成安装
4.添加环境变量
$gedit ~/.bashrc
在打开的文件中输入
$export PATH="$PATH:/usr/local/cuda-8.0/bin"
$export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64"
保存并关闭文件后,输入
source ~/.bashrc
完成更改
切换到目录~/ NVIDIA_CUDA-8.0_Samples
输入
make
等待完成后即可
输入
$sudo ./deviceQuery
显示显卡相关信息即成功。
3.安装cudnn
cudnn是nvida提供的神经网络加速工具
1.下载cuDNN,下载之前需要注册Nvidia开发者帐号,按要求注册即可
2.选择cuda对应版本,下载cudnn
3.将其解压后链接至cuda include目录即可
记得改成自己下载的文件名
sudo tar -zxvf ./cudnn-8.0-linux-x64-v5.1.tgz
cd cuda; sudo cp lib64/lib* /usr/local/cuda/lib64/;
sudo cp include/cudnn.h /usr/local/cuda/include/
更新软连接: cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.5.1.10
sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig
4.python安装和caffe安装
不使用anaconda安装caffe非常繁琐,现在已经被放弃,故采取anaconda安装python和caffe
python安装可参考我的 anaconda安装教程
python安装完成后
创建一个环境 或在已有环境运行。
$conda create -n name python=3.6 自行指定python版本
进入环境
$source activate name
输入
$conda install caffe -gpu
等待下载完成
因为anaconda会自动设置,就免去了caffe的繁琐配置
caffe安装完成。
在python中就可以调用caffe的库了
import caffe
如果没有nvida显卡,使用GPU版本,只需要完成上述python安装和caffe安装即可,但是cpu进行深度学习速度非常慢