热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度学习环境搭建:linux下Ubuntu16.04+cuda8.0+cudnn+anaconda+tensorflow并配置远程访问jupyternotebook

本文主要介绍了linux系统下深度学习系统的搭建,主要的安装思路如下:linux系统安装:首先安装当下热门的linux操作系统Ubuntu16.04,系统下载的链接如下:https:

本文主要介绍了linux系统下深度学习系统的搭建,主要的安装思路如下:

linux系统安装:

首先安装当下热门的linux操作系统Ubuntu16.04,系统下载的链接如下:

https://www.ubuntu.com/download/desktop

(一)显卡驱动安装:

安装完系统后,安装1080ti的显卡驱动,可以在Nvidia的官网下载到驱动

下载完成后,把文件放在系统的默认文件夹下,作者把文件放在home下,nvidia官网的下载的界面如下:


然后进入linux的指令操作界面,首先我们关闭X-server,如果不关闭无法进行显卡驱动的安装,输入:


sudo lightdm stop



然后安装刚刚下载完成的1080ti的驱动,假设你下载下来的文件名是:1080ti.run


chmod +x 1080ti.run
sudo ./1080ti.run



这里注意:安装时会出现类似于“”安装用户须知“”的文档,一直按“”enter“”是没法跳过的,直接用“ctrl+c”跳过,然后输入“”accept“”

(二)CUDA安装:
CUDA的安装一切以官方文档为准,若遇到问题,没有办法的话可以参考官方文档:
http://docs.nvidia.com/cuda/pdf/CUDA_Installation_Guide_Linux.pdf

GCC降级

在安装CUDA前,需要对ubuntu的GCC进行降级,否则CUDA无法编译通过,我第一次安装就是因为GCC未降级,跑mnist时未能调用GPU运行。具体参见如下链接:

http://www.cnblogs.com/xujianqing/p/6142963.html


软件安装

为了加速训练时的速度,接着我们进行cuda和cudnn的安装,进入nvidia的官网,下载cuda,作者选择的配置如图所示:


如果你的文件名为:cuda_8.0.61_375.26_linux.run

那么进入命令行界面,输入:

chmod +x cuda_8.0.61_375.26_linux.run
sudo ./8.0.61_375.26_linux.run
 
 同样会出现之前的“”安装用户须知“”,按下“”ctrl+c跳过“” 
 

为CUDA添加环境变量:

安装完cuda后,需要添加环境变量,假设CUDA是默认的安装路径,打开终端,具体的操作如下:
sudo gedit ~/.bashrc
在打开的文本文件末尾加上两行写入:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
继续添加:
sudo gedit /etc/profile
在打开的文件中输入:
注意:这一行代码网上很多是错误的,PATH与后面的等号不能存在空格
export PATH=/usr/local/cuda/bin:$PATH
 
   
 
   
 
   
 
   
 
   
 
   
 
  
创建链接文件,在命令行输入:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在打开的文件末尾加上一行保存:

/usr/local/cuda/lib64


(三)CUDNN安装:
CUDNN的下载比较麻烦,需要注册Nvidia的账号,注册完成之后,下载cudnn6.0:


然后进行解压,并将文件覆盖到指定目录,具体操作如下,作者使用的是cuda6.0,

不同版本的cudnn需要进行对应的更改,进入cudnn下载的目录,然后:

tar xvzf cudnn-8.0-Linux-x64-v5.1.tgz 
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn.so* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn.so*​

sudo ln -sf libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig

注意:作者这里最后使用的时CuDNN5.1的版本,但操作方式相同,原因会在后面详细说明


(四)Tensorflow安装:

anaconda安装:

和N卡相关的软件我们都已安装好,在安装tensorflow前,先进行科学计算库anaconda的安装。

本文是基于anaconda安装tensorflow的,在官网上下载对应的安装包,作者选择的是linux 64位 ,Python版本为2.7


安装完anaconda以后,使用conda命令在终端下新建一个tensorflow的环境,

输入指令后系统会自动下载所依赖的软件库

conda create -n tensorflow python=2.7



tensorflow安装:

进入正题了,首先进入tensorflow的环境,输入:

source activate tensorflow

(这一步时配置tensorflow环境,tensorflow还未安装)


进入tensorflow环境后,开始安装tensorflow,输入:

pip install tensorflow


如果下载速度过慢,可以搭个梯子,在github上tensorflow的官网也可下载

安装完tensorflow后,在终端中进入python

测试

python
import tensorflow as tf


若没有报错,则安装成功

jupyter notebook安装:

在终端下显然不能够便捷地调试和编译深度学习程序,因此作者推荐安装jupyter notebook,同样地,打开终端,进入tensorflow环境,输入:

pip install jupyter notebook
安装完成后,在终端输入 jupyter noteook即可打开,记住要在tensorflow的环境下打开,因为我们是把jupyter安装在此环境下的。

(五)远程连接教程:
为了方便远程操控,作者用windows7远程连接安装好上述功能的linux操作系统,具体步骤如下:

windows端:

下载putty用于远程连接linux,在此处输入目标计算机的ip地址


登录到远程计算机后,输入账户和密码,就可以进入远程计算机的终端了(请先配置完linux端再进行此操作)


linux端

这里作者推荐这两篇博客,写的很详细,交叉阅览,很快能掌握:

解决了如何生成秘钥的问题:

http://blog.csdn.net/u013473520/article/details/50696771

解决了如果登陆失败,则有可能是服务器防火墙设置的问题

http://blog.csdn.net/bitboy_star/article/details/51427306


(六)总结一下安装思路:

(1)先安装linux操作系统,

(2)安装对应的显卡驱动,以及深度学习用的加速库CUDA和CUDNN。

(3)安装anaconda

(4)在tensorflow环境下安装tensorflow和jupyter notebook

(5)远程配置


(七)目前已知安装过程中遇到的问题汇总
安装过程中遇到很多问题,这里把问题都贴出来以减少大家的重复安装时间

(1)CuDNN版本选择

在配置CuDNN时,我一开始选择的版本是CuDNN6,但是因为我tensorflow中,整合的时cuda8.0+CuDNN5.1版本,因此在运行mnist时,会提示:

缺少cuda5.0,no such file or directory。解决这个问题有两个办法:

1.如果想使用6.0的CuDNN直接去github上面下载tensorflow的源码,使用bazel进行编译,具体可以参考这篇使用bazel编译tensorflow的教程:

http://blog.csdn.net/zhaoyu106/article/details/52793183/

2.在nvidia的网站上下载CuDNN5.1版本,按照(三)中的流程重新覆盖安装

(2)配置SSH远程访问
如果按照(五)中配置完jupyter notebook的远程访问还不能访问,一种原因是因为没有安装SSH server,这里给出安装ssh server的网址:

https://jingyan.baidu.com/article/9c69d48fb9fd7b13c8024e6b.html

有很详细的linux端配置ssh教程和如何在windows端连接的教程

(3)启动流程

linux端:按下启动键,windows端:打开putty,远程访问linux主机,启动tensorflow环境,启动jupyter notebook,在浏览器中打开jupyter notebook。此时运行mnist例子是没有问题的。给出一个mnist例子的链接:

https://github.com/JimReno/TensorFlow-Examples/tree/master/examples/3_NeuralNetworks
复制里面的convolutional_network到你新建的jupyter notebook下,然后运行。

(4)TIPS
1.在训练过程中,如果需要查看显卡使用情况可以在终端输入查看:
nvidia-smi
2.如果在linux上的下载速度太慢,可以在windows搭梯子,提前把tensorflow和numpy等安装包下载好,然后直接pip install下载的文件就可以了。

(5) GCC自动升级问题:
用了一周左右,发现gcc自动升级到5.4之后,跑程序的时候无法使用cuda加速了。
解决办法:降级GCC到4.9



此外,对linux操作系统不熟悉的读者,安装过程中可能会出现很多问题,因此我推荐一些我安装时查阅的博客和网站,其次大家可以把遇到的问题放在百度里面搜索,搭建环境这类的博客文章很多

参考文献:

cuda添加环境变量:http://blog.csdn.net/Tcorpion/article/details/52740920

极客学院的tensorflow安装指南:http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html

和本文类似的安装tensorflow的指南,可以交叉阅读:http://blog.csdn.net/dabokele/article/details/53013921

CUDA安装时,如果GCC的降级,和CUDA samples的运行可以参考:http://www.linuxidc.com/Linux/2017-01/139320.htm

python的官网也有tensorflow-gpu的whl包,下载完成后用pip命令安装即可https://pypi.python.org/pypi/tensorflow-gpu



推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
author-avatar
w3cbj.cn
w3c笔记,程序员专属笔记云平台,24种代码高亮!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有