Lua+torch7+cuda8.0+cudnn7.0.5在Ubuntu16.04上的安装

我的笔记本是联想Y470 比较老的机子  安装的bantu

第一步安装笔记本的显卡:系统自带的软件更新中安装的。


 第二步,安装cuda 官网下载的,cuda官网下载,根据系统信息选择对应的版本,我的是cuda_8.0.61_375.26_linux.run

一大堆条款什么的,愿意看就看吧,不想看直接回车按到底。

输入accept接受条款。

接下来只有nvidia驱动那里不要装,因为我之前已经装过了显卡驱动。其他都选是或者默认就可以。

流程:

输入n。不装nvidia驱动。

输入y。安装cuda toolkit

回车。 使用默认安装路径/usr/local/cuda-8.0

输入y。安装指向/usr/local/cuda的链接

输入y。安装Samples。

回车。 使用Samples默认安装路径/home/username

环境变量设置

sudo vim ~/.bashrc

在末尾添加

export CUDA_HOME=/usr/local/cuda-8.0

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

export PATH=/usr/local/cuda-8.0/bin:$PATH

保存退出。

然后刷新。

source ~/.bashrc

动态链接库设置

创建文件:

sudo vim /etc/ld.so.conf.d/cuda.conf

写入:/usr/local/cuda/lib64

保存之后使其立即生效:

sudo ldconfig 

检查Cuda版本

nvcc --version

第三步:获取cuDNN

去官网https://developer.nvidia.com/rdp/cudnn-download下载cuDNN,要注册NVIDIA账号。

我选择的是cuDNN v7.0

安装cuDNN

下载cuDNN后解压

cd cuda/include

sudo cp cudnn.h /usr/local/cuda/include #复制头文件

cd ../lib64

sudo rm -rf libcudnn.so libcudnn.so.7    #删除原动态文件

sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7  #生成软链接

sudo ln -s libcudnn.so.7 libcudnn.so      #生成软链接

若需要更换cudnn版本,则替换原来的libcudnn*,并重新软链接。

更新链接库:

sudo ldconfig

第四步安装torch7(此部分转自他人)

利用快捷键Ctrl+Alt+T打开Ubuntu终端

 

第一步:

获取安装LuauJIT(C语言编写的Lua的解释器)和Torch所必需的依赖包。

代码如下:

 1 git clone https://github.com/torch/distro.git ~/torch --recursive 

如果提示git还未安装,在终端输入命令:

 sudo apt-get install git 

安装git

 

漫长的等待中。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。


 

第二步:

刚才默认将依赖包下载在当前路径下的torch文件夹,进入torch文件夹,打开并执行install-deps中的命令。

代码如下:

cd ~/torch
bash install-deps 

又得等待好久,可以去喝杯咖啡~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 


 

第三步:

执行install.sh文件

输入命令:

./install.sh

至此,安装torch需要的依赖已经搞定!!!!!!!!!!!!!!!!!!!!!!!!


 

 

第四步:

将路径添加到PATH变量中。

source ~/.bashrc
source ~/.zshrc

使用上面两个命令中任意一个即可。


 

 

第五步:

检测安装是否成功。在终端输入th命令,若出现下图,表明安装成功。

 

附加:

利用粗暴删除来卸载torch:

rm -rf ~/torch

其实就是直接删除文件夹。


 遇到的问题(转自https://blog.csdn.net/Geek_of_CSDN/article/details/80461129)

其实不能直接配置CuDNN 7给Torch使用,贫僧在上次博客里面跳过了测试阶段,所以错过了这个bug(所以说测试还是必不可少的啊)。

闲话少说,直接使用比较新的版本但是没在~/.bashrc里面配置好路径会出现下面这样的错误:

/home/ubuntu/torch/install/bin/luajit: /home/ubuntu/torch/install/share/lua/5.1/trepl/init.lua:389: /home/ubuntu/torch/install/share/lua/5.1/trepl/init.lua:389: /home/ubuntu/torch/install/share/lua/5.1/cudnn/ffi.lua:1603: 'libcudnn (R5) not found in library path.
Please install CuDNN from https://developer.nvidia.com/cuDNN
Then make sure files named as libcudnn.so.5 or libcudnn.5.dylib are placed in
your library load path (for example /usr/local/lib , or manually add a path to LD_LIBRARY_PATH)

Alternatively, set the path to libcudnn.so.5 or libcudnn.5.dylib
to the environment variable CUDNN_PATH and rerun torch.
For example: export CUDNN_PATH="/usr/local/cuda/lib64/libcudnn.so.5"
#注意上面这一行,这是程序推荐的问题解决方法
stack traceback:
        [C]: in function 'error'
        /home/ubuntu/torch/install/share/lua/5.1/trepl/init.lua:389: in function 'require'
        neural_style.lua:350: in function 'setup_gpu'
        neural_style.lua:53: in function 'main'
        neural_style.lua:601: in main chunk
        [C]: in function 'dofile'
        ...untu/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
        [C]: at 0x00405d50
ubuntu@ip-Address:~/neural-style$

就算是按照上面那样配置好(其实改了点,例如贫僧使用的是7版,那么就会改成export CUDNN_PATH="/usr/local/cuda/lib64/libcudnn.so.7),也会出现这样的错误:

Found Environment variable CUDNN_PATH = /usr/local/cuda-9.0/lib64/libcudnn.so.7/home/ubuntu/torch/install/bin/luajit: /home/ubuntu/torch/install/share/lua/5.1/trepl/init.lua:389: /home/ubuntu/torch/install/share/lua/5.1/trepl/init.lua:389: /home/ubuntu/torch/install/share/lua/5.1/cudnn/ffi.lua:1618: These bindings are for CUDNN 5.x (5005 <= cudnn.version > 6000) , while the loaded CuDNN is version: 7003
Are you using an older or newer version of CuDNN?
stack traceback:
        [C]: in function 'error'
        /home/ubuntu/torch/install/share/lua/5.1/trepl/init.lua:389: in function 'require'
        neural_style.lua:350: in function 'setup_gpu'
        neural_style.lua:53: in function 'main'
        neural_style.lua:601: in main chunk
        [C]: in function 'dofile'
        ...untu/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk

上面的意思是CuDNN版本不对,本来的要求是在5到6之间的版本(但是贫僧用的是7,太新了对于Torch来说) 
最后贫僧终于找到了解决方案,就是在终端运行这个指令:

git clone https://github.com/soumith/cudnn.torch.git -b R7 && cd cudnn.torch && luarocks make cudnn-scm-1.rockspec


 




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值