Ubuntu18.04 Torch7 和 cuda8.0+cudnn6.0 + Anaconda3下安装tensorflow1.4-gpu 环境配置

前言:

最近需要跑Torch7的代码 ,后来又有安装tensorflow需求,配起来这两者中间遇到各种问题折腾快一周,踩很多坑后,有些经验记下来供后来人参考。

主要遇到BUG:

  • cuda10.0版本在luarocks install cutorch,cudnn会失败,换成cuda8.0就弄好了。
  • cuda8 与 cdnn7搭配起来不能与tensorflow1.4适配
  • cuda8.0 只能支持gcc 5.0以下版本,需要降级gcc.
  • 等各种问题

总结安装经验:

  • 远离高版本,时间比经验更宝贵!
  • 安装时选择版本时,一定查清楚显卡驱动,cuda,cudnn,tensorflow的适配情况,以免走冤枉路
  • 安装每部分时注意安装顺序(先显卡驱动,再cuda,cudnn),验证安装成功,以及环境变量的修改前做好备份

Nvidia 显卡驱动适配与安装

网上主要有三种方法,我个人推荐使用该博客的ppap方式下载,又简单又稳定。注意安装第一步先卸掉原有驱动,第二步禁止自带的nouveau驱动。

之后无论是安装torch7 ,cuda,cudnn,anaconda,tensorflow首先就是先确定他们之间的适配关系,选择对应的版本下载,不然报的错误会让你怀疑人生。
(tensorflow与cuda,cudnn版本适配情况)

ubuntu18.04下 torch7 + luarocks instll [package] 安装步骤

  1. 首先参考博客安装torch7以及相关的依赖包,重点ubuntu18.04版本会遇到

    Error: Package 'python-software-properties' has no installation candidate
    的问题。

参考:博客的解决方法之后(感谢),其实之后也报错了和warning好几次,但直接忽略就可以成功安装。

最后验证只需要th命令行在终端显示如图,就说明torch7安装成功。
Ubuntu18.04 Torch7 和 cuda8.0+cudnn6.0 + Anaconda3下安装tensorflow1.4-gpu 环境配置_第1张图片

如果th不能如图显示但是安装过程顺利,那就是环境变量的问题

  1. 这里Torch装好后安装cuda和安装Tensorflow前需要安装cuda过程是一样的,于是我放在下面讲。这部分介绍luarocks install。运行代码后报错torch缺少hdf5包等,一脸懵从来没使用过这个语言。依靠博客和博客解决luarocks安装rock包问题,这里.lua脚本运行缺啥包就直接luarocks install [啥包]eg:luarocks install argparse

  2. luarocks install cutorch,cudnn后遇到困扰一天之久错误。百度,google无果后,尝试将cuda10.0版本卸载换成cuda8.0版本,就解决了cutorch安装报错问题。真是神奇!(WTK)

至此:Torch7环境搭建完成,中间cuda8.0安装件下面。

cuda8.0 + cudnn6.0 + anaconda环境下tensorflow-gpu的安装

Tensorflow部分再接着上面显卡驱动装完后。安装cuda8.0过程基本参考博客。

Cuda8.0

进入cuda8下载页下载CUDA

按照自己的要求选择,并选择安装方案,我推荐 runfile方式,如下所示
Ubuntu18.04 Torch7 和 cuda8.0+cudnn6.0 + Anaconda3下安装tensorflow1.4-gpu 环境配置_第2张图片

并按照官网提示命令行 sudo sh cuda_8.0.27_linux.run

切记:接下来的一系列提示都选择确认或者默认,唯独除了是否安装INVIDIA驱动和NVIDIA SAMPLE这两项点no

中间报的一些错误和gcc版本过高问题都是可以按照提示和参考博客里一一解决。

意外的是,我可能由于在删除cuda10.0的时候删除多了一些配置文件,遇到安装失败,找到报错内容中写明的log文件的地址打开后找到如下提示:
Can't locate InstallUtils.pm in @INC (you may need to install the InstalUtils module)找不到InstallUtils.pm。在参考博客方法解决后,再执行一遍安装过程即可。

出现如图所示,即表示安装完成。
Ubuntu18.04 Torch7 和 cuda8.0+cudnn6.0 + Anaconda3下安装tensorflow1.4-gpu 环境配置_第3张图片
之后,同样参考博客,将环境变量写入系统文件尾~/.bashrc文件尾

```
export PATH="/usr/local/cuda-8.0/bin:$PATH"  
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"   
```

blog0
blog1
blog2
blog3
blog4

最后别忘了参考博客 验证cuda安装成功。

Cudnn 6.0

先去官网下载满足条件的CUDNN到本地,然后命令行解压:tar -zxvf cudnn-8.0-linux-x64-v7.tgz或者右键解压。

得到一个cuda文件夹,进入之后会有include文件夹和lib64文件夹

执行下列命令:

 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*

anaconda 环境下安装tensorflow-gpu1.4

ubuntu下安装anaconda可以参考博客,anaconda使用可以参考博客。

这里安装完anaconda后,我推荐先建立一个tensorflow环境。

conda create -n tensorflow pip python=3.6 #python版本根据要安装的tensorflow选择

source activate tensorflow

然后可以去Tuna镜像网站选择适合自己的tensorflow版本,复制命令行。

(tensorflow) root@MrYx-Dell:~$你自己创建ananconda环境下输入,非常方便。

注意,这里我遇到最后一个bug,在anaconda3中Python3.6与tensorflow不匹配问题:
RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framewo……大意就是你安装的tensorflow是Python3.5编译的,而你用的Python版本是3.6。详见参考博客解决的!

最后打开你的IDE,测试:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

见证人品的时候到了!

你可能感兴趣的:(疑难问题解决(bug),网络爬虫技术及小工具,numpy)