设为首页 收藏本站
查看: 1085|回复: 0

[经验分享] ubuntu18.04 tensorflow 机器学习环境搭建

[复制链接]

尚未签到

发表于 2019-2-18 11:08:09 | 显示全部楼层 |阅读模式
1. 主机配置说明
  在前几天,得知公司新采购了几台主机,所以我们组领导就向公司申请了一台回来,做数据分析。
  服务器买的是惠普的主机,型号是:HP EliteDesk 800 G3。不算强劲,但用来做GPU的数据分析测试,也可以了。
具体参数:
CPU:i7-7700
内存: 32G
显卡: GTX 1070
硬盘: 256 ssd + 1T
自带 windows 10 64位 专业版系统
搭建环境版本选择: ubuntu18.04+CUDA9.0+cuDNN7.1.4+tensorflow1.9

2. 更换系统
  由于主机自带的是windows系统,但是我们想用 ubuntu 的系统,因此,只能先重装一下系统了。
具体的更换系统的过程就不写了,大家有需要的,可以参考一下这篇文章。
  要注意的是,不要关闭主板的 UEFI 引导,并且,你的 Ubuntu 系统引导盘,也就是U盘,需要用USB3.0的接口。因为,我测试的时候,用过普通 USB2.0 接口的,一直识别不了。同时,系统盘要制作成纯系统盘,里面出来系统软件之外,不要有其他文件。

3. 安装显卡驱动
  新安装 ubuntu 18.04 的系统之后,先更新一下系统自带的源,我在自己使用的 CentOS 或者 Ubuntu 等linux 系列系统的时候,都习惯更换成阿里云的源,感觉速度和稳定都维护得比较好。

3.1 关闭系统默认的显卡驱动
  如果你安装的是 ubuntu 带桌面图形界面的版本,那么它默认的显卡可能是nouveau,我们首先需要关闭它。具体方法:
打开禁用列表:

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

  在后面添加:

blacklist nouveau
options nouveau modeset=0

  保存退出后,更新,重启系统:

sudo  update-initramfs -u
sudo reboot
  重启后,你可能会发现屏幕没有了输出,甚至连登录界面也没有了。
先别慌,如果你使用 xshell 这类终端登录工具的话,这时你仍然能远程连接到系统的,前提是你已经在系统开启了 openssh-server,不过ubuntu 18 默认是没有开启openssh-server 的。
如果你没有用xshell 来连接,那么你可以按一下 ctrl + alt + F3 组合键,这时候,屏幕上又会切换到字符登录界面,熟悉的输入用户名,密码界面再次呈现。
这些都是因为,我们在上一步禁止了 nouveau 驱动,但是主机的独立显卡驱动还没有安装好。

3.2 安装nvidia 显卡驱动
  在安装显卡驱动前,还需要再确认一下你系统自带的驱动有哪些:

kkt@kkt-HP:~$ sudo ubuntu-drivers devices
[sudo] password for kkt:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001B81sv0000103Csd00006899bc03sc00i00
vendor   : NVIDIA Corporation
model    : GP104 [GeForce GTX 1070]
driver   : nvidia-driver-396 - third-party free
driver   : nvidia-driver-390 - third-party free
driver   : nvidia-driver-410 - third-party free
driver   : nvidia-driver-415 - third-party free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

  可以,看出nvidia 支持的驱动版本有396,390,410,415 几个类型。不过这是我在添加显卡 ppa 源之后,才显示这么多个的,本来只有390,396两个版本。
怎么添加显卡 ppa 源:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
  在添加 ppa 源的时候,可能会因为网络的原因,更新失败。我们需要留意提示信息,以为添加失败之后,会导致某些版本根本不能安装。
选择你希望安装的 nvidia 版本,我推荐安装 nvidia-driver-396 的版本,不求它最新,因为最新的版本,兼容性反而可能会差,甚至用不了。
安装nvidia 驱动:
重点: 先删除旧的 nvidia 驱动

sudo apt-get purge nvidia-*
sudo apt   install nvidia-driver-396

  安装完成之后,重启主机 : sudo  reboot
检查 nvidia 显卡状况:

sudo nvidia-smi


  如果你没有检测到nvidia显卡的状态,可能需要先挂载:

sudo  nvidia  modprobe nvidia
  正常来说,如果你的主机有独立显卡,在安装完nvidia显卡驱动,重启就能在屏幕输出你熟悉的图形登录界面。

4. 安装 CUDA 9.0
  首先,cuda 9.0 编译安装只支持gcc、g++  6.0 及以下的版本,所以,如果系统已经默认安装了gcc 7.0 以上版本的,就需要将级了。

sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
  切换到  /usr/bin 目录,对gcc7.0 进行降级,其实就是重新创建软连接:

ls  -l   gcc*  
sudo mv  gcc   gcc.bak
sudo ln -s  gcc-4.8  gcc
ls -l   g++*
sudo  mv  g++ g++.bak
sudo ln  -s  g++-4.8  g++
  重新查看g++、gcc 的版本:

g++  -v
gcc   -v
  确认gcc、g++ 的版本为4.8 就可以了。

下载CUDA 9.0
  说明,现在先不要使用 cuda 9.1 或者 cuda 10,因为后面 tensorflow 对这些版本还没有支持。我一开始安装的也是cuda 9.1 以为版本越新越好。
cuda 各个版本的归档目录在这里,选择9.0 的版本:


  注意,这里选择 ubuntu 16.04 的系统版本,对18.04 也适用。
cuda 9.0 共5个文件,包括4个patch都需要下载。下载完成之后,上传到服务器,进行安装,cuda安装的过程中,会提示要安装nvidia driver的,不要安装,因为我们之前已经安装过了。其他的选项可以随意。
安装过程如下:

sudo sh cuda_9.0.176_384.81_linux-run
sudo sh cuda_9.0.176.1_linux-run
sudo sh cuda_9.0.176.2_linux-run
sudo sh cuda_9.0.176.3_linux-run
sudo sh cuda_9.0.176.4_linux-run

  同样,下载 cuDNN 进行安装。cuDNN 的版本选择 7.1.4,选择7.0的大多数情况会没有问题,但是当使用 tensorflow 进行卷积运算的时候,会提示初始化失败,原因是 tensorflow 1.9 里编译的支持的版本是 7.1.4 及以上。
下载 cuDNN 请在这里 ,注意,下载需要提供注册账号,自己搞一个邮箱注册一下。

  下载完成之后,上传到服务器,开始安装:

其实是先解压,然后将文件复制到cuda-9.0 的目录里。
sudo  tar  xvzf  cudnn-9.0-linux-x64-v7.1.tgz
解压之后,默认的目录名也叫 cuda.
然后,复制cuDNN的内容:
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   /usr/local/cuda/lib64/libcudnn*

  至此,cuda 和 cudnn已经安装完毕。
但是,还需要修改一下环境变量:

修改 sudo  vim  ~/.bashrc,添加以下内容:
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export  PATH=${CUDA_HOME}/bin:${PATH}
修改 sudo  vim  /etc/profile ,添加以下内容:
export PATH=/usr/local/cuda/bin:$PATH

  继续修改:

sudo vim   /etc/ld.so.conf.d/cuda.conf
/usr/local/cuda/lib64

  修改后,加载配置,但可能会提示:(/usr/local/cuda/lib64/libcudnn.so.7 不是符号链接?)

sudo   ldconfig
sudo  ln -sf /usr/local/cuda/lib64/libcudnn.so.7.1.4    /usr/local/cuda/lib64/libcudnn.so.7
sudo ldconfig
  最后,可以安装tensorflow 了

5. 安装 tensorflow
  利用pip 的方式来安装:

sudo  pip3  install  tensorflow-gpu==1.9.0
  没有pip3 的,自己安装一下:

sudo apt install  python3-pip
  如果 pip3 的安装速度太慢,导致超时报错,可以尝试一下,使用国内源,具体方法:

修改 ~/.pip/pip.conf (没有就创建一个):
如果不存在此文件夹,则创建之
mkdir ~/.pip
vi ~/.pip/pip.conf
增加内容如下:
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
6. 总结
  tensorflow 的版本兼容比较严格,这一点值得注意。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673901-1-1.html 上篇帖子: ubuntu系统安装virtualbox 下篇帖子: Ubuntu 18.04上Qmmp安装教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表