822思享实验室Linux我爱编程

Fedora27搭建GPU版TensorFlow

2018-02-03  本文已影响276人  刘开心_8a6c
DL环境搭建

主机:华硕(ASUS)G11飞行堡垒
显卡:GeForce 1070

原操作系统为win10,准备安装Fedora 27,从零开始搭建GPU版TensorFlow。

安装Fedora27

下载ISO镜像并制作U盘启动盘(注意!启动盘一定用官方的制作方法)

我用另一台win10笔记本电脑制作启动盘。官网为windows提供了很傻瓜的安装程序,叫FedoraMediaWriter,以前叫liveusb creator,插一个u盘,打开程序,按步骤走就可以直接制作好U盘启动盘。

安装Fedora

重启计算机,按F8(不同电脑可能不同)选择开机启动项为U盘,安装界面十分友好,跟步骤走即可。先将系统语言改为英文,安装完驱动需要的话再改成中文,避免功亏一篑,血的教训……

Note:我由于今天一天重装了很多linux版本,有deepin、ubuntu、fedora等,有的需要关闭UEFI模式,我不确定这个需不需要,如果报错了,可以往这个方向考虑。我关闭它的方式是:选择Boot->secure boot->key management,把里面所有key都删掉,它就变成disable了。

安装NVIDIA驱动

这是最烦人的,今天安了不下十次……主要参考这里,有一些补充。

chmod +x /path/to/NVIDIA-Linux-*.run

上文提到的教程中要更新内核,我更新后安装driver时报了错,后来千辛万苦找到下面的方法,可以指定安装的kenel-devel和header的版本,这样就不用更新,就不会出现gcc版本不匹配的问题。命令如下。

dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r) gcc dkms acpid libglvnd-glx libglvnd-opengl libglvnd-devel pkgconfig
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
cd /etc/default

vi grub

找到GRUB_CMDLINE_LINUX,在引号内补充rd.driver.blacklist=nouveau,注意要加空格后再补充,最后形如GRUB_CMDLINE_LINUX="xxxxxxxxxxx rhgb quiet rd.driver.blacklist=nouveau"

grub2-mkconfig -o /boot/grub2/grub.cfg
dnf remove xorg-x11-drv-nouveau
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

dracut /boot/initramfs-$(uname -r).img $(uname -r)
systemctl set-default multi-user.target
reboot
./NVIDIA-Linux-x86_64-390.25.run
systemctl set-default graphical.target

reboot

安装Cuda9.0

注意!cuda9.1与tensorflow1.5目前不兼容,最好安装9.0
这里下载安装,选择fedora版本,这里没有坑,安装很顺利。

cuda9.0

安装cudnn

与cuda版本相配的cudnn从这里下载

cudnn
需要先注册才可以。

下载完成后,双击解压,然后把include和lib64里的文件复制到cuda相应的文件里,命令如下:


cudnn解压

安到这里就可以松一口气了。

安装Anaconda

到Anaconda的官网下载最新版,我用的python2.7。

选择Anaconda
安装完后cd到Anaconda下载目录,使用
sh Anaconda2-5.0.1-Linux-x86_64.sh

没有坑,顺利下载完后输conda发现系统不识别命令,所以最后一定要敲下面的命令使安装生效

source ~/.bashrc

安装TensorFlow

ok,最后一步,安装linux gpu版的TensorFlow。安完以后才发现,cuda9与tensorflow目前不兼容,
兴高采烈地输入命令,发现需要翻墙。蓝灯的linux版本是deb文件,fedora无法运行,需要先用alien将deb转成rpm,然后用rpmrebuild解决文件冲突,这里参考,两者结合解决。下面是详细步骤。

安装Lantern(也可以用清华的镜像,跳过这一步)

sudo dnf install alien
sudo alien -r lantern-installer-64-bit.deb
sudo dnf install rpmrebuild
sudo rpmrebuild -pe lantern-4.4.2-2.x86_64.rpm
要注释的行
sudo rpm -i /root/rpmbuild/RPMS/x86_64/lantern-4.4.2-2.x86_64.rpm
sudo dnf install libappindicator-gtk3

打开所有应用,就可以看到蓝灯图标了。

安装TensorFlow-GPU

conda create -n tensorflow pip python=2.7
source activate tensorflow
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.5.0-cp27-none-linux_x86_64.whl
# 清华镜像
pip install \
  -i https://pypi.tuna.tsinghua.edu.cn/simple/ \
  https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/gpu/tensorflow_gpu-1.5.0-cp27-none-linux_x86_64.whl

如果出现‘libcudnn.so.7:cannot open shared objct file:no such file or directory’的问题,则需要将libcudnn.so.7加入环境变量

vi ~/.bashrc

在最后一行加入

export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

输入source ~/.bashrc使修改生效。

如果遇到kernel version 390.25.0 does not match DOS version 384.81.0的错误

sudo yum remove xorg-x11-drv-nvidia\* kmod-nvidia\*

至此,环境搭建完毕。


以上内容送给822实验室,便于深度学习环境搭建
我们的822,我们的青春
欢迎所有热爱知识热爱生活的朋友和822思享实验室一起成长,吃喝玩乐,享受知识。

上一篇下一篇

猜你喜欢

热点阅读