一、安装依赖
1.公共依赖
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
安装过程中如果出现failed to start session,解决办法为
sudo apt-get install ubuntu-desktop
sudo apt-get install --reinstall ubuntu-desktop
sudo reboot
2.BLAS依赖项
sudo apt-get install libatlas-base-dev
3.安装谷歌glog和gflags和lmdb依赖项
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
二.安装python
sudo apt-get install python
sudo apt-get install python-dev
sudo apt-get install python-numpy
sudo apt-get install ipython
sudo apt-get install ipython-notebook
sudo apt-get install python-sklearn
sudo apt-get install python-skimage
sudo apt-get install python-protobuf
三、安装CUDA和cudnn
安装cuda的方式有哪些?
方法一:官网下载cuda开发包的二进制安装包进行安装。
方法二:官网下载cuda开发包的deb文件进行安装。
版本选择问题
根据个人需求和操作系统来决定,显卡驱动版本。
cuda6.5是一个分界点,cuda6.5支持compute_11,compute_12. etc. compute_1X系列架构;从cuda7.0开始,不支持compute_1X系列架构,最低是compute_20架构。
cuda对显卡驱动有要求。比如cuda7.5需要显卡驱动最低版本是nvidia-352;cuda7.0需要显卡驱动最低版本是nvidia-336;cuda6.5需要显卡驱动最低版本是nvidia-33*;其他的记不清楚啦。因此,结合自己操作系统可以安装的NVIDIA显卡驱动来决定选择哪个版本的cuda。
为什么安装cudnn?
cudnn可以简单的理解为
CUDa cNN,即在GPU上做卷积运算。最近几年,深度学习很火,尤其是CNN(卷积神经网络)。通过cudnn,可以极大的提高CNN训练速度。简单的说,实用GPU是为了快,实用cudnn是为了更快。
安装完cuda之后,需要配置cuda环境变量
打开bashrc文件
vim ~/.bashrc
在bashrc中添加如下配置并保存,路径需要修改为实际安装所在路径。
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
五、安装OpenCV
本文中OpenCV版本为3.1.0。
官网上下载OpenCV并将其解压到你要安装的位置,假设解压到了/usr/local/opencv
1 unzip opencv-3.1.0.zip 2 sudo cp ./opencv-3.1.0 /usr/local 3 sudo mv opencv-3.1.0 opencv
安装前准备,创建编译文件夹:
1 cd /usr/local/opencv 2 mkdir build 3 cd build
配置:
1 sudo apt install cmake 2 sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
编译:
sudo make -j8
-j8表示并行计算,根据自己电脑的配置进行设置,配置比较低的电脑可以将数字改小或不使用,直接输make。
以上只是将opencv编译成功,还没将opencv安装,需要运行下面指令进行安装:
sudo make install
测试opencv:
1 mkdir ~/opencv-test 2 cd ~/opencv-test 3 gedit DisplayImage.cpp
编辑如下代码:
1 #include <stdio.h> 2 #include <opencv2/opencv.hpp> 3 using namespace cv; 4 int main(int argc, char** argv ) 5 { 6 if ( argc != 2 ) 7 { 8 printf("usage: DisplayImage.out <Image_Path>\n"); 9 return -1; 10 } 11 Mat image; 12 image = imread( argv[1], 1 ); 13 if ( !image.data ) 14 { 15 printf("No image data \n"); 16 return -1; 17 } 18 namedWindow("Display Image", WINDOW_AUTOSIZE ); 19 imshow("Display Image", image); 20 waitKey(0); 21 return 0; 22 }
sudo gedit /usr/local/cuda-8.0/include/cuda_gl_interop.h
修改如下
/*
#if defined(__arm__) || defined(__aarch64__)
#ifndef GL_VERSION
#error Please include the appropriate gl headers before including cuda_gl_interop.h
#endif
#else
#include <GL/gl.h>
#endif
*/
#include <GL/gl.h>
四、安装caffe
(1)https://github.com/BVLC/caffe下载caffe
下载完成后,会在家目录下的下载里找到caffe-master.zip,用unzip命令解压到家目录下,然后重命名为caffe.
(2)复制Makefileconfig
sudo cp Makefile.config.example Makefile.config
(3)打开并修改配置文件:
sudo gedit Makefile.config #打开Makefile.config文件
根据个人情况修改文件:
a.若使用cudnn,则将
#USE_CUDNN := 1
修改成:
USE_CUDNN := 1
b.若使用的opencv版本是3的,则
#OPENCV_VERSION := 3
修改为:
OPENCV_VERSION := 3
c.若要使用python来编写layer,则
#WITH_PYTHON_LAYER := 1
修改为
WITH_PYTHON_LAYER := 1
d.重要的一项 :
将# Whatever else you find you need goes here. 下面的
1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为:
1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial 2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
(4)安装caffe:
make all -j6
(5)测试caffe:
sudo make runtest测试成功说明安装完成
常见问题:
(1)编译caffe报错并且报找不到 -lippicv
原因为Opencv未完全编译成功,解决办法为手动下载并重新编译OpenCV。
下载 ippicv_linux_20151201,并将下载的文件拷贝到OpenCV的目录/usr/local/opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e下。
重新编译并安装
cmake CMakeLists.txt
make -j6
make install
(2)caffe.pb.h丢失问题
使用protoc重新编译
protoc --cpp_out=/usr/local/caffe-master/include/caffe/ caffe.proto
编译成功后将生成的文件拷贝到src/proto下。
本文详细介绍如何在Ubuntu系统中搭建深度学习环境,包括安装CUDA、cuDNN、Caffe及OpenCV等关键组件,并解决了安装过程中的常见问题。


1442

被折叠的 条评论
为什么被折叠?



