我的笔记本是联想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