最近需要跑Torch7的代码 ,后来又有安装tensorflow需求,配起来这两者中间遇到各种问题折腾快一周,踩很多坑后,有些经验记下来供后来人参考。
luarocks install cutorch,cudnn
会失败,换成cuda8.0就弄好了。网上主要有三种方法,我个人推荐使用该博客的ppap方式下载,又简单又稳定。注意安装第一步先卸掉原有驱动,第二步禁止自带的nouveau驱动。
之后无论是安装torch7 ,cuda,cudnn,anaconda,tensorflow首先就是先确定他们之间的适配关系,选择对应的版本下载,不然报的错误会让你怀疑人生。
(tensorflow与cuda,cudnn版本适配情况)
首先参考博客安装torch7以及相关的依赖包,重点ubuntu18.04版本会遇到
Error: Package 'python-software-properties' has no installation candidate
的问题。
参考:博客的解决方法之后(感谢),其实之后也报错了和warning好几次,但直接忽略就可以成功安装。
最后验证只需要th
命令行在终端显示如图,就说明torch7安装成功。
如果th不能如图显示但是安装过程顺利,那就是环境变量的问题。
这里Torch装好后安装cuda和安装Tensorflow前需要安装cuda过程是一样的,于是我放在下面讲。这部分介绍luarocks install
。运行代码后报错torch缺少hdf5包等,一脸懵从来没使用过这个语言。依靠博客和博客解决luarocks安装rock包问题,这里.lua脚本运行缺啥包就直接luarocks install [啥包]
eg:luarocks install argparse
luarocks install cutorch,cudnn
后遇到困扰一天之久错误。百度,google无果后,尝试将cuda10.0版本卸载换成cuda8.0版本,就解决了cutorch安装报错问题。真是神奇!(WTK)
至此:Torch7环境搭建完成,中间cuda8.0安装件下面。
Tensorflow部分再接着上面显卡驱动装完后。安装cuda8.0过程基本参考博客。
进入cuda8下载页下载CUDA
按照自己的要求选择,并选择安装方案,我推荐 runfile
方式,如下所示
并按照官网提示命令行 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。在参考博客方法解决后,再执行一遍安装过程即可。
出现如图所示,即表示安装完成。
之后,同样参考博客,将环境变量写入系统文件尾~/.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到本地,然后命令行解压: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*
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))
见证人品的时候到了!