ubuntu 配置 tensorflow-gpu

必须重装过系统马上安装

而且要使用ubuntu16.04.3

首先安装cuda

验证自己的GPU是否支持cuda

lspci | grep -i nvidia

显示pci设备列表,列表作为输入,用正则表达式,忽略大小写,搜索nvidia

01:00.0 3D controller: NVIDIA Corporation Device 1d12 (rev a1)

我的是1d12

查看自己的linux版本是否支持cuda

uname -m && cat /etc/*release

显示当前操作系统,架构,如果成功执行下一步,读取下面文件中的信息,通配release

x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04

我的是ubutu 16.04

验证自己是否装了gcc

gcc --version

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

安装系统的内核头文件

sudo apt-get install linux-headers-$(uname -r) 

安装内核头文件-$(uname -r内核版本)

linux-headers-4.10.0-28-generic 已经是最新版 (4.10.0-28.32~16.04.2)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 386 个软件包未被升级。

我的显示已经是最新版本

下载cuda包

我下载的是9.0版本的runfile文件


禁用自带驱动程序nouveau

lsmod | grep nouveau

显示加载到内核的模块,管道,查找nouveau

sudo vim /etc/modprobe.d/blacklist-nouveau.conf 

用vim建立一个配置文件叫做blacklist-nouveau.conf


输入文本

blacklist nouveau

options nouveau modeset=0

更新

sudo update-initramfs -u

更新-内核-现有的

重启并再次lsmod | grep nouveau

运行cuda安装包

退出图形界面sudo service lightdm stop

进入命令行界面ctrl alt F1

找到cuda安装包安装sudo sh cuda_xxx_linux.run

    openGL选择no

    其他选择yes

重启图形界面sudo service lightdm start

检查显卡驱动

nvidia-smi  可显示显卡一些信息

nvidia-settings  显卡设置


验证设备节点

ls /dev/nvidia*

显示device中的nvidia文件

我的结果是只有两个

官方提示我们运行一个脚本(开机时自动运行)

官方做法:建立一个脚本,并且运行

sudo vim suibian.sh建立一个sh文件

输入文本

sudo chmod +x suibian.sh更改权限

sudo ./suibian.sh运行一下这个文件

通常是直接添加到/etc/rc.local文件中

sudo vim /etc/rc.local

去掉#!/bin/sh -e中的-e,并且在exit 0 前输入

/sbin/modprobe nvidia

if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`

N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done

mknod -m 666 /dev/nvidiactl c 195 255

else
exit 1
fi

/sbin/modprobe nvidia-uvm

if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`

mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi

这样就好了,重启后ls /dev/nvidia*就有文件了,我也没明白为什么,这是官网提供的方法

设置环境变量

sudo vim /etc/profile

输入

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

重启验证

cat /proc/driver/nvidia/version

nvcc -V

编译cuda例子

cd /home/xxx/NVIDIA_CUDA-9.0_Samples 

make

运行编译后的文件

cd /home/xxx/NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release 

./deviceQuery运行当前目录下的deviceQuery文件

检查系统和cuda-capable device的连接情况

./bandwidthTest



安装cudnn

下载cuda9.0版本对应的linux版本,cudnn-9.0-linux-x64-v7.gz

解压

tar -zxvf cudnn-9.0-linux-x64-v7.gz

拷贝文件到指定文件夹

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

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

这样就完成了



安装tensorflow-gpu

官网下载安装包tensorflow_gpu-1.5.0-cp35-cp35m-manylinux1_x86_64.whl或者使用清华镜像安装


可以使用anaconda的虚拟环境


验证tensorflow

安装pycharm

下载pycharm-community-2017.3.4.tar.gz

解压sudo tar -zxvf pycharm-community-2017.3.4.tar.gz

解压后的文件下的bin目录中sudo sh ./pycharm.sh安装pycharm

设置pycharm到dash:

    tools——》creat desktop entry

配置编译器:

    file——》setting——》


    选择相应编译器

返回建立test.py

    import tensorflow as tf

    跑个程序试试吧


卸载pycharm不仅要删除软件包

还要ll看看有没有.pycharm的东西

删除没用的dash图标在

~/.local/share/applications

/usr/share/applications

里面看看

猜你喜欢

转载自blog.csdn.net/f2h3k999/article/details/79529309