Ubuntu14.04 安装cuda+cudnn+tensorflow+caffe2环境
一. 安装包准备
- Ubuntu14.04系统
- cuda8.0
- cudnn6.0
- tensorflow1.3
- caffe2
- *, chrome, sogoupinying, pycharm
二. 开始安装
2.1 安装nvidia 1080显卡驱动
本文主机使用的是GTX 1070显卡,可根据GPU型号到Nvidia官网下载相应的最新驱动:
安装驱动过程需要关闭图像界面,使用Ctrl+Alt+F1
进入字符界面终端, 输入如下命令:
$ sudo apt-get install build-essential # 安装c/c++编译环境
$ sudo service lightdm stop # 关闭图形界面
$ cd ~/Downloads/ # 进入存放驱动文件的目录
$ sudo chmod +x NVIDIA-Linux-x86_64-384.69.run # 给予文件可执行权限
$ sudo ./NVIDIA-Linux-x86_64-384.69.run # 开始安装
## 根据安装提示进行安装...
$ sudo reboot # 重启PC即可
重启PC后桌面分辨率变高,在lancher搜索nvidia出现NVIDIA X Server Settings应用(其他两个是在安装CUDA后才有):
可使用NVIDIA X Server Settings应用查看和设置GPU功能:
2.2 安装和测试cuda8.0
GTX1070和GTX1080显卡必须使用CUDA8.0以上的版本。到Nvidia CUDA官网下载最新的CUDA Toolkits安装包:
PS: 此处有两种安装包(runfile 和deb)可以选择。推荐使用runfile安装包,因为CUDA包本身就包含了显卡驱动,但不是最新的。如果使用deb包安装,它会在安装过程中自动覆盖步骤2.1安装的最新显卡驱动。使用runfile安装则可以选择不安装CUDA包自带的驱动。
打开Terminal输入以下命令:
$ cd /Dowloads/ # 进入存放cuda包的目录
$ sudo chmod +x cuda_8.0.61_375.26_linux.run # 给予文件可执行权限
$ sudo ./cuda_8.0.61_375.26_linux.run
按步骤安装好cuda后,设置cuda环境变量:
$ vim(gedit) ~/.bashrc # 使用vim或gedit编辑.bashrc文件
# 在.basrch文件底部加入以下句后, 保存并退出
export CUDA_HOME=/usr/local/cuda-8.0
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
$ source ~/.bashrc # 使文件配置生效
进行测试:
$ cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery # 进入存放cuda例子的目录
$ sudo make
$ sudo ./deviceQuery # 执行测试程序
2.3 安装cudnn6.0
Tensorflow 和 Caffe2 的最新发行版本现都只支持cudnn6.0,还未支持最新的cudnn7.0。到Nvidia官网下载cudnn6.0安装包:(下载需要注册Nvidia开发者账号和填写一个问卷)
打开Terminal输入以下命令:
$ cd /Downloads/
$ tar -xvf cudnn-8.0-linux-x64-v6.0.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64
# 安装 libcupti-dev 作为 NVIDIA CUDA Profile Tools Interface
$ sudo apt-get install libcupti-dev
到此Nvidia GPU环境配置完成。
2.4 安装和测试tensorflow
参考 tensorflow 官网安装教程有三种安装方式。本文采用 pip
直接将 tensorflow 安装到系统自带的 python2 中的方式。打开Terminal,输入以下命令:
$ sudo apt-get install python-pip python-dev # 安装pip和python开发环境
$ sudo pip install --upgrade # 更新pip的版本
$ sudo pip install tensorflow-gpu # 默认安装最新的1.3版本的tensorflow
$ sudo pip install ipython # 安装ipython,方便使用python终端做测试。
$ ipython # 启动ipython
# 进入ipython环境后,输入以下测试代码
>> import tensorflow as tf # 导入tensorflow
>> const1 = tf.constant("hello tensorflow!") # 定义一个常量tensor
>> sess = tf.Session() # 定义回话
>> sess.run(const1) # 执行
输出结果显示程序在GUP设备上运行:
2.5 安装和测试Caffe2
参考 caffe2 官方安装教程进行安装。相比于tensorflow的安装,caffe2就显得比较复杂和繁琐,需要安装大量依赖包。
打开Terminal,安装必须的依赖:
$ sudo apt-get install -y --no-install-recommends cmake git build-essential libgoogle-glog-dev libprotobuf-dev protobuf-compiler
$ sudo pip install numpy protobuf
安装可选依赖:
$ sudo apt-get install -y --no-install-recommends \
libgflags2 \
libgtest-dev \
libiomp-dev \
libleveldb-dev \
liblmdb-dev \
libopencv-dev \
libopenmpi-dev \
libsnappy-dev \
openmpi-bin \
openmpi-doc \
python-pydot
$ sudo pip install flask \
future \
graphviz \
hypothesis \
jupyter \
matplotlib \
pydot python-nvd3 \
pyyaml \
requests \
scikit-image \
scipy \
setuptools \
six \
tornado
下载源代码,编译和安装:
$ mkdir Caffe2 && cd Caffe2 # 创建存放Caffe2源码的目录
$ git init # 初始化该目录为git仓库
$ git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2
$ mkdir build && cd build # 创建存放编译文件的目录
$ cmake ..
$ make -j4 # 启动4线程进行编译
$ sudo make install # 安装
测试 caffe2 安装环境:
$ python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure" # 输出Success则安装成功
$ python -m caffe2.python.operator_test.relu_op_test # 测试caffe2程序能否在GPU上正常运行
设置 caffe2 环境变量:
# 打开/etc/bash.bashrc, 加入以下行(全局配置):
# set the caffe2 envirnment
export PYTHONPATH=/usr/local:$PYTHONPATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# 保存退出, 并执行:
$ source /etc/bash.bashrc
# 输出配置的caffe2环境变量
$ echo $PYTHONPATH
$ echo $LD_LIBRARY_PATH
运行 caffe2 测试程序:
$ ipython # 启动ipython
# 进入 ipython 终端
>> from caffe2.python import workspace, model_helper # 导入caffe.python相关模块
>> import numpy as np
>> x = np.random.rand(2, 3, 4) # 生成(2, 3, 4)维随机数据
>> workspace.FeedBlob("my_x", x) # 向工作空间填充数据
>> X = workspace.FetchBlob("my_x") # 向工作空间取回数据
>> print(X)
三. 配置pycharm开发环境
在安装好 tensorflow 和 caffe2 环境后,如果要用 pycharm 进行开发,最简单的方法就是在 Teminal 中使用命令启动 pycharm。但我们一般是通过桌面 icon 来启动的, 这种情况下就需要在 pycharm 的启动文件中导入它们依赖的一些环境变量。
打开Teminal,输入以下命令配置 pycharm 启动文件:
# 进入安装pycharm的目录中,将path_to_install_pycharm替换成你实际安装的路径
$ cd ~/path_to_installed_pycharm/bin
$ vim (gedit) pycharm.sh # 使用vim或者gedit编辑
# 找到设置 LD_LIBRARY_PATH 的那行,在上面插入以下两行:
export PYTHONPATH=/usr/local/:$PYTHONPATH # caffe2的python接口环境变量
LD_LIBRARY_PATH="/usr/local/cuda/lib64" # cuda动态库路径
# 保存退出并运行文件启动pycharm
$ ./pychram.sh
启动 pycharm 后,重新在 lancher 中锁定 pycharm 的 icon 。关闭 pycharm 后下次就用 icon 启动则可。