您的位置:首页 > 运维架构 > Docker

ubuntu16.04-LTS+cuda-9.1+docker+tensorflow-gpu

2018-01-23 11:01 645 查看

简单快捷搭建深度学习平台

1、纯手动搭建环境,自己安装tensorflow。网上有很多现有教程,本人按照这些教程安装结果遇到各种各样的问题,在重装了数次系统后果断放弃。如果你喜欢自己动手,并且熟练的使用百度解决问题,可以忽略以下内容。

2、简单说一下手工安装方式:

第一步:安装nvidia显卡(这一步不是必须的,而且容易出问题,不建议)这里有两种安装方式。但是之前,切记!切记!切记!重要的事情说三遍,一定要关闭Ubuntu 16.04系统自带的开源第三方驱动管理:nouveau,这个东西和nvidia驱动不能共存,不禁掉是装不上nvidia
最新驱动的。

$sudo gedit  /etc/modprobe.d/blacklist.conf

然后在这个文件的最后面加上下面两行:

blacklist   nouveau

options    nouveau      modeset=0



然后在terminal里敲入下面的命令更新启动项

$ sudo   update-initramfs   -u

完成之后:reboot  

如果你的平台是笔记本,并且是Intel的CPU和NVIDIA的GPU,那reboot之后是可以进入图形界面的,点击右上角的电源选项,找到“关于这台计算机”,可以看到你的CPU和当前使用的GPU的型号。



可以看到我的图形处理器是Intel的集显,接下来是安装NVIDIA的驱动。但是在此之前要确认一下nouveau是否真的被屏蔽。

$ lsmod | grep nouveau



如果没有输出则是已经成功了,如果列出了含有nouveau字样的东西,则表示失败。此时,检查自己之前的输入是否有错误,重新按之前的步骤再来一次。

百度登录NVIDIA官网,查询自己显卡对应的最新驱动,我的是Geforce- - -GTX850M,对应NVIDIA-384,命令行安装:

$ sudo apt-get install nvidia-384 nvidia-settings

安装成功后可以通过nvidia-smi命令查看当前的显卡驱动



Quadra M2000是我的显卡型号,Processes显示正在使用GPU的进程,如果Processes下没有进程也不用担心,只是表明没有使用独显,一样是安装成功了的,重启之后一般会使用独显,当然也有可能不会,但是只要有NVIDIA-SMI的内容就可以,不影响后续使用。

第二步:安装CUDA。官网下载cuda.run文件,.deb文件使用dpkg安装时会默认安装CUDA集成的NVIDIA驱动,这会覆盖你之前装好的驱动,引发一系列的问题。

$ sudo sh   ------.run     --override,-----代表你下载的CUDA后面那一串的东西,在是否安装NVIDIA驱动那一项选N,其他都是Y,安装完成后,可以到 /usr/local下查看,有cuda-9.1这个文件存在。或者在命令行里输入:nvcc,系统会提示你该命令是否存在。

第三步:安装cuDnn+tensorflow+配置环境。网上有很多教程,可以自己百度。

根据笔者的经验,显卡驱动和cuda的安装是最麻烦的,有一点要注意: 必须留有足够的空间,/tmp 、/、等,否则也会提示空间不足,无法安装cuda。

NVIDIA-Docker 安装Tensorflow

第一步:安装cuda。在此之前不用安装NVIDIA的驱动,如果已经安装了NVIDA的驱动,在安装cuda时,在是否安装NVIDIA驱动那一项选n即可。安装过程同上,安装成功后验证一下即可。

第二步:安装docker

如果之前安装过docker,则要先移除。

$ sudo apt-get remove docker docker-engine docker.io

然后把docker仓库加到源里。

$ sudoapt-getupdate

 
$ sudoapt-getinstall\

    apt-transport-https\
    ca-certificates\

     curl \
     software-properties-common

 
$   curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudoapt-keyadd-

 
$    sudoapt-keyfingerprint0EBFCD88

 
$   sudoadd-apt-repository\

$  "deb [arch=amd64]https://download.docker.com/linux/ubuntu\
              $(lsb_release-cs)\

               stable"

如果中间过程有报错,可以先不理,接着执行下面的命令:

$ sudo apt-get update

$ sudo apt-get install  docker-ce

$ apt-cache madison  docker-ce

跳过一大段的安装过程,输入下面的命令跑一个例子

$ sudo docker run hello-word

输出 Hello from Docker!

或者直接输入 :   docker

会出现docker的一些信息和命令选项。

第三步:安装NVIDIA-Docker

# Install nvidia-docker and nvidia-docker-plugin

 
wget-P/tmphttps://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb

 
sudodpkg-i/tmp/nvidia-docker*.deb&&rm/tmp/nvidia-docker*.deb

 
# Test nvidia-smi 验证是否安装成功

 
nvidia-dockerrun--rmnvidia/cudanvidia-smi
#表示要在root下面执行:sudo   -s
nvidia-docker 已经集成了我们所需要的一些依赖项,并且可以自己搭建环境,不需要再手动的设置路径和下载安装cuDnn。可以直接用nvidia-docker直接安装最新版本的tensorflow-gpu。

$  sudo   nvidia-dockerrun
-it  -p  8888:8888 
tensorflow/tensorflow:latest-gpu
然后是自动安装tensorflow-gpu。
完成后会出现一个htttp://-----开头的网址,在终端输入 ifconfig 查看本机ip,然后在浏览器中输入本机ip地址,在后面加上:8888登入,出现一个jupyter 的登录界面,在 login所在的地方的方框里,输入安装完成后http://后面token那一大串的值,然后login就会出现下面的图:



jupyter使用的是python语言,然后就可以直接使用了。笔者会在下一篇博客中介绍如何使用jupyter,对mnist数据集进行训练,识别。

总结:
使用现有的集成工具,docke等远比自己纯手动安装来的快并且问题也要更少,而且不用费力的去设置路径和和安装一些底层依赖项,可以更好的把时间用在研究上,而不是用上一到两周的时间去解决安装过程中的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐