Ubuntu 18.04 + CUDA 9.2 + cuDNN 7.1.4 + Caffe2 安装
Posted 湖广午王
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 18.04 + CUDA 9.2 + cuDNN 7.1.4 + Caffe2 安装相关的知识,希望对你有一定的参考价值。
安装Ubuntu 18.04
Ubuntu 18.04的安装参考官网步骤,很容易安装。我在安装的时候比较坎坷,拿到了一个有问题的U盘,写入ISO后,启动一直启动不了。
主要步骤如下:
- 下载系统。
- 下载Rufus工具,也可以是其他的,只要能刻录光盘就行。然后把下载的Ubuntu ISO文件写入U盘。
- 写好U盘后,查上电脑,选择从U盘启动。一般是开机按F12来选择启动方式。
- 安装时,按F6,然后将启动参数后面的
---
改成nomodeset
,然后安装。 - 安装完成后,重启电脑。
有些电脑安装完成后启动不了。可以选择参数nomodeset来启动,然后进入安装必要的驱动就可以正常启动。 Ubuntu 可以用ubuntu-drivers autoinstall
来安装驱动。
安装CUDA 9.2
安装CUDA 9.2首先需要你的电脑是有Nvidia显卡的,我的显卡是GTX 1050,所以是可以装的。安装显卡的时候首先我们要安装显卡的驱动。CUDA 9.2 要求显卡驱动是 nvidia-driver 396.26以上,低版本的不可以。如果已经安装了的需要升级到396.26以上。
可以直接输入以下指令进行安装:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-396
如果在安装过程中遇到问题,可以根据提示来进行解决。
驱动安装成功后,就可以安装CUDA 9.2了,直接在官方下载 Ubuntu 16.04 deb(local)即可,也可以选择其他安装方式。
然后输入以下指令:
sudo dpkg -i 'your download file.deb'
sudo apt-get update
sudo apt-get install cuda
验证是否安装成功,可进入/usr/local/cuda/samples/
,然后编译并运行示例,运行成功则表示安装成功。
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
安装成功会输出:
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.2, CUDA Runtime Version = 9.2, NumDevs = 1
Result = PASS
安装cuDNN 7.1.4
如果Cuda安装好了,cuDNN一般就不会有什么问题了。同样是进入官网下载。注意版本,选择cuDNN v7.1.4 for CUDA9.2。然后我下载了cuDNN v7.1.4 Runtime Library for Ubuntu 16.04 以及相应的Developer Library和Code Samples。然后利用dpkg安装即可。注意安装顺序,需要先安装Runtime Library,再安装Developer Library,最后Code Samples.
sudo dpkg -i 'Your Runtime Library.deb'
sudo dpkg -i 'Your Developer Library.deb'
sudo dpkg -i 'Your Code Sample.deb'
sudo apt-get update
安装成功后,依然通过Sample来验证是否安装成功。
cd /usr/src/cudnn_samples_v7/mnistCUDNN
sudo make
./mnistCuDNN
如果安装成功,最后面会输出:
Result of classification: 1 3 5
Test passed!
安装 Caffe2
我使用的Source的方式来进行安装的。在官网上有比较详细的教程,安装Ubuntu 16.04的方式操作即可。
# 安装必要的依赖
sudo apt-get update
sudo apt-get install -y --no-install-recommends \\
build-essential \\
cmake \\
git \\
libgoogle-glog-dev \\
libgtest-dev \\
libiomp-dev \\
libleveldb-dev \\
liblmdb-dev \\
libopencv-dev \\
libopenmpi-dev \\
libsnappy-dev \\
libprotobuf-dev \\
openmpi-bin \\
openmpi-doc \\
protobuf-compiler \\
python-dev \\
python-pip
sudo pip install \\
future \\
numpy \\
protobuf
# for Ubuntu 14.04
sudo apt-get install -y --no-install-recommends libgflags2
# for Ubuntu 16.04
sudo apt-get install -y --no-install-recommends libgflags-dev
# Clone Caffe2's source code from our Github repository
git clone --recursive https://github.com/pytorch/pytorch.git && cd pytorch
git submodule update --init
# 最新的可以直接用下面方式编译安装,不必要cmake 然后make。用自带的脚本更方便python3和python2都能用caffe2
python3 setup.py install
# Create a directory to put Caffe2's build files in
mkdir build && cd build
# Configure Caffe2's build
# This looks for packages on your machine and figures out which functionality
# to include in the Caffe2 installation. The output of this command is very
# useful in debugging.
cmake ..
# Compile, link, and install Caffe2
sudo make install
需要注意的是,我在安装的时候使用的是gcc7,会报如下错误。换成gcc6就可以了。问题解决方案来自github上。
可以用update-alternatives工具来指定编译工具使用gcc6。
In constructor ‘caffe2::YellowFinOp<T, Context>::YellowFinOp(const caffe2::OperatorDef&, caffe2::Workspace*)’:
/home/john/pytorch/caffe2/sgd/yellowfin_op.h:20:171: error: ‘GetSingleArgument<int>’ is not a member of ‘caffe2::YellowFinOp<T, Context>’
YellowFinOp(const OperatorDef& operator_def, Workspace* ws)
NCCL 编译错误,可以选择在cmake时加上-DUSE_NCCL = OFF
来解决,我遇到的编译错误是通过进入third_party/nccl下,把nccl目录删除,重新clone github上的nccl项目来解决的。
如果编译有其他失败,可以google一下,一般都能搜到答案,大多数都是环境或者依赖的问题。编译完成之后。输入以下命令测试是否成功。
python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
# GPU 测试为:
python -m caffe2.python.operator_test.relu_op_test
# 如果遇到失败,缺少一些第三方可以直接用pip命令安装
如果cd 到其他目录下,在执行输出Failure时,需要刷新动态库链接:
cd /usr/local/lib
sudo ldconfig
以上是关于Ubuntu 18.04 + CUDA 9.2 + cuDNN 7.1.4 + Caffe2 安装的主要内容,如果未能解决你的问题,请参考以下文章