1. 软件列表
- Ubuntu 14.04 amd64
(.iso)
› Alternative downloads › Past releases › 14.04.5 › 选择ubuntu-14.04.5-desktop-amd64.iso - Cuda 8.0
(.run)
› CUDA Toolkit Downloads › Linux+x86_64+Ubuntu+14.04+runfile ›Download(1.4GB) - Cudnn 5.1
(.tgz)
› Download › Agree › Download cuDNN v5.1 for CUDA 8.0 ›cdDNN v5.1 Library for Linux - MKL: Intel® Parallel Studio XE Cluster Edition for Linux:
› Linux* › 全部勾选 Accept › 注册(教育Email+Country+Submit) › Register an Account ›parallel_stuio_xe_2017_update2.tgz - Matlab 2014a
Optional
2. 系统安装
UltralSO制作U盘启动盘on Windows。
› 启动 › 写入硬盘映像 › 选择U盘 › 写入
- 提醒,写入过程会 格式化 U盘,请注意 备份 数据。
- 开机,
F2或DEL进入BIOS, 启动顺序选U盘。退出BIOS,进入Ubuntu安装界面,选择安装Ubuntu,默认安装。
- 提醒, 选择 安装类型 时,警惕
清除整个磁盘安装选项。 - 推荐选择
LVM
- 提醒, 选择 安装类型 时,警惕
- 磁盘分区可以默认全划给
/dev/sda。 - 注册 用户名,主机名,密码。
重启电脑,恢复BIOS中的启动顺序为硬盘第一。
3. 安装依赖 [1]
3.0 热身准备
-
通用依赖
sudo apt-get updatesudo apt-get install -y \libprotobuf-dev protobuf-compiler \libleveldb-dev libhdf5-serial-dev libsnappy-dev \libopencv-dev # opencvsudo apt-get install -y --no-install-recommends libboost-all-dev # boost-c++
-
其他依赖
sudo apt-get install -y \libgflags-dev libgoogle-glog-dev \liblmdb-dev
-
常用软件
sudo apt-get install -y \vim cmake openssh-server lrzsz git gparted
-
安装NVIDIA驱动
3.1 拷贝程序
-
挂载U盘
sudo mkdir -p /mnt/usb # 创建挂载目录sudo fdisk -l # 查看U盘盘符sudo mount -t auto [/dev/sdb5] /mnt/usb # 挂载ll /mnt/usb # 测试挂载成功
-
拷贝软件
sudo cp -r /mnt/usb/softwares ~/cd ~/softwaressudo chown -R 755 . # 修改文件权限
-
卸载U盘
sudo umount /mnt/usb # 卸载U盘
3.2 Cuda 8.0
-
关闭图形界面,防止
驱动更新造成开机死循环。
Ctrl+Alt+F1进入字符界面。sudo service lightdm stop # 关闭桌面服务
-
安装
cuda 8.0。sudo ./cuda_8.0.61_375.26_linux.run # 启动cuda安装程序## 安装引导1. Do you accept the previously read EULA?accept/decline/quit: accept `enter`2. Install NVIDIA Accelerated Graphics Driver for Linux-x86_86xxx?(y)es/(n)o/(q)uit: n `enter`3. Do you want to install a symbolic link at /uer/local/cuda?(y)es/(n)o/(q)uit: y `enter`4. Install the CUDA 8.0 Samples?* (y)es/(n)o/(q)uit: y `enter` # developEnter CUDA Samples Location[ default is /home/usr ]: `enter`* (y)es/(n)o/(q)uit: n `enter` # deploy
-
重启图形界面。
sudo service lightdm start # 启动桌面服务
-
配置环境变量
sudo suecho "export PATH=/usr/local/cuda-8.0/bin:$PATH" >> /etc/profile && source /etc/profileecho "/usr/local/cuda/lib64"> /etc/ld.so.conf.d/cuda.conf && ldconfig -v | grep cudaexit
-
验证是否安装成功
if installed Samplesnvcc -V # 版本信息release 8.0nvidia-smi # 显卡管理器## if installed Cuda Samplescd ~/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuerymake./deviceQuery # 输出结尾为`pass`
3.3 Cudnn 5.1
cd ~/softwaressudo mv cudnn-8.0-linux-x64-v5.1.solitairetheme8 cudnn-8.0-linux-x64-v5.1.tgzsudo tar -zxvf cudnn-8.0-linux-x64-v5.1.tgzsudo cp cuda/include/cudnn.h /usr/local/includesudo cp cuda/lib64/libcudnn.* /usr/local/libsudo chmod a+r /usr/local/include/cudnn.hsudo chmod a+r /usr/local/lib/libcudnn.*
3.3.1 NCCL Optional
Version ≥ 1.2.3 (Linked with Cuda8.0), 单机多卡支持。
unzip nccl-1.2.3-1-cuda8.0.zip && cd nccl-1.2.3-1-cuda8.0make CUDA_HOME=/usr/local/cuda test -j $(nproc)## tsetexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./build/lib./build/test/single/all_reduce_test 10000000## installsudo make PREFIX=/usr/local install
3.4 BLAS
基础线性代数子程序(Basic Linear Algebra Subprograms)
-
MKL: Intel® Parallel Studio XE Cluster Edition for LinuxSelecttar -zxvf parallel_studio_xe_2017_update2.tar.gzcd parallel_studio_xe_2017_update2sudo chmod a+x -R .sudo ./install.sh # or ./install_GUI.sh
配置环境变量
sudo suecho "/opt/intel/lib/intel64/opt/intel/mkl/lib/intel64" > /etc/ld.so.conf.d/intel_mkl.conf && ldconfig -v | grep intelexit
-
Atlas:Selectsudo apt-get install -y libatlas-base-dev
3.5 OpenCV
Version ≥ 3.1.0 兼容cuda8.0
-
解压源码
unzip opencv-3.2.0.zip && cd opencv-3.2.0
-
ippicv_linux_20151201三方依赖包下载超时[2]。ipp_file=../ippicv_linux_20151201.tgzipp_hash=$(md5sum $ipp_file | cut -d" " -f1)ipp_dir=3rdparty/ippicv/downloads/linux-$ipp_hashmkdir -p $ipp_dircp $ipp_file $ipp_dir
- 更简单的方法,在 确保 MD5是808b791a6eac9ed78d32a7666804320e的情况下,在OpenCV源码根目录下创建目录:
opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
将下载的ippicv_linux_20151201.tgz拷贝进去。
-
编译安装
sudo chmod a+x .mkdir build && cd buildcmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..make -j $(nproc) # 多线程编译sudo make install && sudo ldconfig # 安装并更新环境变量
3.6 Matlab 2014a Optional [3]
-
挂载iso镜像
cd ~/softwaresmkdir matlab # 加载目录sudo mount -o loop MATHWORKS_R2014A.iso matlab # 解压sudo chmod 755 -R matlab
-
安装与激活
cd matlabsudo ./install # 选择不联网安装> 12345-67890-12345-67890 # 序列号> Crack/license_405329_R2014a.lic # 不联网安装激活文件
-
破解
sudo chmod -R a+w /usr/local/MATLABsudo cp Crack/Linux/libmwservices.so /usr/local/MATLAB/R2014A/bin/glnxa64/
-
卸载镜像
cd ..sudo umount matlab
4. 编译Caffe
4.1 配置编译选项
-
下载Caffe
release candidate 5wget -O caffe-rc5.zip https://codeload.github.com/BVLC/caffe/zip/rc5unzip caffe-rc5.zip && rm caffe-rc5.zip && cd caffe-rc5
-
修改编译配置文件
cp Makefile.config.example Makefile.configsed -i 's/# USE_CUDNN := 1/USE_CUDNN := 1/' Makefile.configsed -i 's/# WITH_PYTHON_LAYER := 1/WITH_PYTHON_LAYER := 1/' Makefile.configsed -i 's/# OPENCV_VERSION := 3/OPENCV_VERSION := 3/' Makefile.configsed -i 's/BLAS := atlas/BLAS := mkl/' Makefile.config # if installed mkl
4.2 编译与测试
make all -j $(nproc)make test -j $(nproc)make runtest -j $(nproc)
4.3 编译PyCaffe Optional
使用系统原生Python version 2.7.6
sudo apt-get install -y \python-pip python-dev \python-numpy python-scipy python-matplotlib \python-sklearn python-skimage \python-h5py python-protobuf python-leveldb \python-networkx python-nose python-pandas \python-gflags cython ipythonmake pycaffe -j $(nproc)make pytest -j $(nproc)
4.4 编译MatCaffe Optional
Matlab_2014a for Unix
sed -i 's/CXXFLAGS += -MMD -MP/CXXFLAGS += -MMD -MP -std=c++11/' Makefilesudo make matcaffe -j $(nproc)sudo make mattest -j $(nproc)
5 Cmake cuda [4]
5.1 Configure
vim CMakeLists.txt- Change USE_NCCL to "ON"vim cmake/Dependencies.cmake- find "set(BLAS "Atlas" ...)"- change "Atlas" to "MKL"
5.2 Cmake
mkdir cmake_build && cd cmake_build && cmake ..
5.3 Make
cmake . -DCMAKE_BUILD_TYPE=Debug # 跳转到Debug模式下make -j $(nproc) && make installcmake . -DCMAKE_BUILD_TYPE=Release # 跳转到Release模式下make -j $(nproc) && make installmake symlink # softlink cmake_build to build
Debug和Release下生成的可执行文件不会相互覆盖,Debug下都会有-d的后缀。
5.4 cmake shared-lib with caffe and JNI
Predict.java
public static native HashMap<String, Float> predict(List<CalculateInfo> images,int reset,String modelFile,String trainedFile,int batchSize,int gpuId);
Signature head file
javac com/persist/.../Predict.java # get Predict.classjavah com.persist...Predict # get Predict.h
CMakeLists.txt
cmake_minimum_required(VERSION 2.8.8)set(SrcFile classify.cpp)# file(GLOB_RECURSE examples_srcs "${PROJECT_SOURCE_DIR}/porn-jni/*.cpp")find_package(JNI)if (JNI_FOUND)message (STATUS "JNI_INCLUDE_DIRS=${JNI_INCLUDE_DIRS}")message (STATUS "JNI_LIBRARIES=${JNI_LIBRARIES}")endif()find_package(OpenCV REQUIRED)if (OpenCV_FOUND)message (STATUS "OpenCV_INCLUDE_DIRS=${OpenCV_INCLUDE_DIRS}")message (STATUS "OpenCV_LIBS=${OpenCV_LIBS}")endif()find_package(Caffe REQUIRED)if (Caffe_FOUND)message (STATUS "Caffe_INCLUDE_DIRS=${Caffe_INCLUDE_DIRS}")message (STATUS "Caffe_DEFINITIONS=${Caffe_DEFINITIONS}")message (STATUS "Caffe_LIBRARIES=${Caffe_LIBRARIES}")endif()message (STATUS "Caffe_Link=${Caffe_Link}")include_directories(${JNI_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ${Caffe_INCLUDE_DIRS})add_library(PornJni SHARED ${SrcFile})target_link_libraries(PornJni ${Caffe_Link} ${JNI_LIBRARIES} ${OpenCV_LIBS} ${Caffe_LIBRARIES})
cmake
mkdir cmake_build && cd cmake_buildcmake .. && make -j $(nproc)
[1] Ubuntu 14.04+cuda8.0+opencv3.1+caffe↩
[2] OpenCV 3.1下载 ippicv_linux_20151201失败↩
[3] 在Ubuntu14.04下安装matlab2014a↩
[4] https://github.com/BVLC/caffe/pull/1667↩
本文详细介绍了如何在Ubuntu 14.04上安装配置CUDA 8.0、OpenCV 3.1及Caffe深度学习框架的过程,并提供了安装依赖、配置环境变量等步骤。
402

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



