Ubuntu 16.04深度学习环境搭建全指南
·
1. 环境准备与依赖项安装
在Ubuntu 16.04系统上搭建深度学习开发环境,需要先安装必要的依赖项。这些基础组件将为后续的软件安装提供支持。
首先更新系统软件包列表:
sudo apt-get update
sudo apt-get upgrade -y
安装通用依赖项:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev \
libopencv-dev libhdf5-serial-dev protobuf-compiler \
libboost-all-dev libgflags-dev libgoogle-glog-dev \
liblmdb-dev libatlas-base-dev
注意:安装过程中如果遇到依赖冲突,可以尝试使用
--fix-missing参数自动修复依赖关系。
2. CUDA 8.0安装与配置
2.1 驱动准备
在安装CUDA之前,需要确保系统已安装合适的NVIDIA驱动:
sudo apt-get install nvidia-384
安装完成后重启系统,通过 nvidia-smi 命令验证驱动是否正常工作。
2.2 CUDA安装
从NVIDIA官网下载CUDA 8.0的runfile安装包:
wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run
执行安装:
sudo sh cuda_8.0.61_375.26_linux-run
安装过程中需要注意:
- 不安装自带的NVIDIA驱动(已单独安装)
- 接受许可协议
- 保持默认安装路径(/usr/local/cuda-8.0)
2.3 环境变量配置
在~/.bashrc文件中添加:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
执行 source ~/.bashrc 使配置生效,通过 nvcc -V 验证安装。
3. cuDNN 6.0安装
从NVIDIA开发者网站下载cuDNN 6.0 for CUDA 8.0的安装包,解压后执行:
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*
4. OpenCV 3.1编译安装
4.1 源码准备
从OpenCV官网下载3.1.0版本源码并解压:
wget https://github.com/opencv/opencv/archive/3.1.0.zip
unzip 3.1.0.zip
cd opencv-3.1.0
4.2 编译配置
创建build目录并配置:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_CUDA=ON \
-D CUDA_ARCH_BIN="3.0 3.5 5.0 6.0" \
-D CUDA_ARCH_PTX="" \
-D WITH_CUBLAS=ON \
-D WITH_LIBV4L=ON \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF ..
4.3 解决GraphCut问题
编辑 modules/cudalegacy/src/graphcuts.cpp 文件,修改:
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
4.4 编译与安装
make -j$(nproc)
sudo make install
sudo ldconfig
5. MATLAB 2017a安装
5.1 挂载ISO镜像
sudo mkdir /media/matlab
sudo mount -o loop R2017a_glnxa64.iso /media/matlab
5.2 执行安装
cd /media/matlab
sudo ./install
安装过程中选择"使用文件安装密钥"模式,输入许可证文件中的安装密钥。
5.3 破解与配置
复制破解文件到安装目录:
sudo cp -r Matlab_R2017a_Linux_Crack/R2017a /usr/local/MATLAB/
创建桌面快捷方式:
sudo ln -s /usr/local/MATLAB/R2017a/bin/matlab /usr/local/bin/matlab
6. Caffe编译与配置
6.1 获取源码
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config
6.2 配置文件修改
编辑Makefile.config,关键配置如下:
USE_CUDNN := 1
OPENCV_VERSION := 3
CUDA_DIR := /usr/local/cuda-8.0
BLAS := atlas
MATLAB_DIR := /usr/local/MATLAB/R2017a
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include \
/usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib \
/usr/lib/x86_64-linux-gnu/hdf5/serial
LINKFLAGS := -Wl,-rpath,$(HOME)/anaconda2/lib
6.3 编译安装
make all -j$(nproc)
make test -j$(nproc)
make runtest -j$(nproc)
make pycaffe -j$(nproc)
make matcaffe -j$(nproc)
6.4 常见问题解决
问题1:libcudnn找不到
sudo ln -s /usr/local/cuda/lib64/libcudnn.so.6 /usr/local/cuda/lib64/libcudnn.so
问题2:hdf5相关错误 在Makefile.config中确保包含:
INCLUDE_DIRS := ... /usr/include/hdf5/serial
LIBRARY_DIRS := ... /usr/lib/x86_64-linux-gnu/hdf5/serial
问题3:protobuf缺失
conda install protobuf
7. 环境验证
7.1 Python接口测试
import caffe
print(caffe.__version__)
7.2 MATLAB接口测试
在MATLAB命令行执行:
addpath('/path/to/caffe/matlab');
caffe.set_mode_cpu();
7.3 MNIST测试
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
./examples/mnist/train_lenet.sh
8. 使用技巧与优化建议
- 多版本管理 :使用virtualenv或conda创建独立Python环境
- 性能调优 :在Makefile.config中调整CUDA架构参数
- 内存优化 :对于小显存GPU,可减小batch size
- 开发工具 :推荐使用PyCharm专业版进行Python开发
- MATLAB优化 :设置MATLAB使用GPU计算:
gpuDevice()
9. 系统维护建议
- 定期清理编译中间文件:
make clean
-
更新驱动和CUDA时注意版本兼容性
-
重要配置文件备份:
tar -czvf caffe_config_backup.tar.gz Makefile.config
- 使用screen或tmux管理长时间运行的任务
这套环境配置虽然过程复杂,但完成后可以支持大多数深度学习研究和开发需求。在实际使用中,建议根据具体项目需求调整各组件版本。
更多推荐


所有评论(0)