ubuntu14.04+cuda8.0+cudnn5.1+torch7配置整理

实际上教程网上有很多,这里说下自己遇到的一个坑。

很少有人提到(包括torch7官方)CUDA与torch的安装顺序,我这里测试发现先安装torch再cuda,总是各种问题,所以,先cuda,cudnn,再torch,一路顺利。这应该跟opencv与cuda关系类似。跟torch相关的CUDA实现,要重新编译,因此,先CUDA比较保险。

另外就是网络要好,否则经常断!感谢同事提供的VPN。。

2、NVIDIA 驱动安装
1) Ctrl+alt+F1
进入字符界面,关闭图形界面
sudo service lightdm stop //必须有,不然会安装失败
2)
安装nvidia driver

sudo chmod 755 NVIDIA-Linux-x86_64-367.27.run //获取权限sudo ./NVIDIA-Linux-x86_64-367.27.run //安装驱动

Accept
Continue installation
安装完成之后

sudo service lightdm start

图形界面出现,然后关机,切换到1080

3、 Cuda8.0安装
开机(桌上桌下来回窜,还好我比较瘦==。)
1) 在终端运行指令 sudo sh cuda_8.0.27_linux.run
选择
Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?
(y)es/(n)o/(q)uit: n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y

Enter CUDA Samples Location
[ default is /home/zhou ]:

Installing the CUDA Toolkit in /usr/local/cuda-8.0 …
Missing recommended library: libGLU.so
Missing recommended library: libX11.so
Missing recommended library: libXi.so
Missing recommended library: libXmu.so

Installing the CUDA Samples in /home/zhou …
Copying samples to /home/zhou/NVIDIA_CUDA-8.0_Samples now…
Finished copying samples.

===========
=
Summary =
===========

Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/zhou,but missing recommended libraries

Please make sure that
- PATH includes /usr/local/cuda-8.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64,or,add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit,run the uninstall script in /usr/local/cuda-8.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer,run the following command,replacing with the name of this run file:
sudo .run -silent -driver

Logfile is /tmp/cuda_install_2961.log
安装完成,但是缺少一些库。

2) 安装所缺少的库

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

这个因为网络问题,可能要安装很久。如果安装有问题,可以分开安装各个库,
还是有线好点。

3)

sudo apt-get install vim

安装完成。这个可以不装,用gedit

4) 设置环境变量
在终端输入这两句:

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

然后修改文件中环境变量设置

sudo vi /etc/profile

输入上面export的两句,保存,退出。

sudo ldconfig //环境变量立即生效

5) 验证安装是否完成

nvidia-smi

显示:


nvcc –V

显示:

nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2016
NVIDIA Corporation Built on Wed_May__4_21:01:56_CDT_2016 Cuda
compilation tools,release 8.0,V8.0.26

6) 测试cuda的samples

cd ‘/home/zhou/NVIDIA_CUDA-8.0_Samples’make

也不知道是我的错觉还是什么的,比以前快很多啊,大概等7分钟左右吧。(听了两首薛之谦的新歌)

7) 安装cudnn5.0(5.1也一样)
安装cuDNN比较简单,解压后把相应的文件拷贝到对应的CUDA目录下即可:

tar -zxvf cudnn-8.0-linux-x64-v5.0-ga.tgz

显示以下信息:
*cuda/include/cudnn.h
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.5
cuda/lib64/libcudnn.so.5.0.5
cuda/lib64/libcudnn_static.a*
继续执行以下指令:

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*

8) 验证一下,哈哈哈哈哈啊哈哈哈哈哈
cuda的samples 里面有个deviceQuery 运行之后会显示信息,最后一行出行pass说明成功啦~~~~

下面是这位同学的:http://blog.csdn.net/hungryof/article/details/51557666

总说

附:最后面加上hdf5的安装。
三个前提:
1. ubuntu别太老,最好14.04或以上吧,本人采用14.04
2. cuda别太老,本人试过cuda7.5和cuda8.0。都完美运行。
3. cudnn一定要和cuda版本对应。这是最关键的。比如我以前cuda是7.5的,即cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64,采用的cudnn就要cudnn-7.5-Linux-x64-v5.0-ga.tgz,是为cuda7.5准备的cudnn5.0版本。 现在装的是cuda8.0,即cuda-repo-ubuntu1404-8-0-local_8.0.44-1_amd64.deb。采用的是
cudnn-8.0-linux-x64-v5.1.tgz。

安装与测试

用一个例子来跑,从而验证torch以及cuda和cudnn是否安装成功。
我推荐这个。
参考:链接:https://github.com/jcjohnson/neural-style/blob/master/INSTALL.md
neural-style
其实这篇已经讲的很清楚怎么安装了,但是安装时还是碰到了不少坑。
稍微翻译一下吧,顺便加点小解释:安装torch7

cd ~/
curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash
git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch; ./install.sh

这个稍微注意一下,这里的

curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash

是安装torch的依赖库,和官方的版本不是一样的。如果你运行这个出现版本依赖问题从而没法安装的话,这时候采用下面的官方版本

git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch; bash install-deps;
./install.sh

这里可能会出现的问题,在 坑一中。
接下来,它会提示是否吧torch加入bashrc中,有”….(yes|no)”提示,输入yes,即可。
为了保险,可以看看bashrc文件

vim ~/.bashrc

查看文档末尾是不是有类似

./home/xxx/torch/install/bin/torch-activate

上面是你torch安装的路径。
然后跟新一下环境变量。

source ~/.bashrc

现在来说,基本的torch就安装好了!!!就是这么简单。但是你可能还想装cuda,其实也很简单。

下载配置neural style(这个只是进行用代码测试torch是否安装好了。)

安装其他依赖库

sudo apt-get install libprotobuf-dev protobuf-compiler
luarocks install loadcaffe

下载neural style代码

cd ~/
git clone https://github.com/jcjohnson/neural-style.git
cd neural-style

安装VGG模型

sh models/download_models.sh

CPU版本的测试
th neural_style.lua -gpu -1 -print_iter 1

若出现

[libprotobuf WARNING google/protobuf/io/coded_stream.cc:505] Reading dangerously large protocol message.  If the message turns out to be larger than 1073741824 bytes,parsing will be halted for security reasons.  To increase the limit (or to disable these warnings),see CodedInputStream::SetTotalBytesLimit() in google/protobuf/io/coded_stream.h.
[libprotobuf WARNING google/protobuf/io/coded_stream.cc:78] The total number of bytes read was 574671192
Successfully loaded models/VGG_ILSVRC_19_layers.caffemodel
conv1_1: 64 3 3 3
conv1_2: 64 64 3 3
conv2_1: 128 64 3 3
conv2_2: 128 128 3 3
conv3_1: 256 128 3 3
conv3_2: 256 256 3 3
conv3_3: 256 256 3 3
conv3_4: 256 256 3 3
conv4_1: 512 256 3 3
conv4_2: 512 512 3 3
conv4_3: 512 512 3 3
conv4_4: 512 512 3 3
conv5_1: 512 512 3 3
conv5_2: 512 512 3 3
conv5_3: 512 512 3 3
conv5_4: 512 512 3 3
fc6: 1 1 25088 4096
fc7: 1 1 4096 4096
fc8: 1 1 4096 1000
WARNING: Skipping content loss  
Iteration 1 / 1000  
  Content 1 loss: 2091178.593750    
  Style 1 loss: 30021.292114    
  Style 2 loss: 700349.560547   
  Style 3 loss: 153033.203125

则安装成功。表示如果这一步都到不了的话,难度挺大。

安装cuda

这个如果你以前装过就不用再装了,其实就是个环境嘛,默认是安装在/usr/local/cuda-8.0的。安装的时候它会创建一个软链接,类似windows的快捷方式。
直接从官网上下载对应版本的cuda 。然后deb文件直接双击安装。你别以为这个deb安装完了,cuda就安装好了,其实还有附加的库,也是要安装的。这些要通过命令行来进行。

sudo apt-get update
sudo apt-get install cuda

上面的apt-get安装的cuda会根据你的deb的cuda的版本的不同,而安装相应的库。比如你如果是采用cuda8.0的deb,那么此时上面会出现一堆cuda8.0-之类的文件名的库。

最后再试试是否安装好了cuda

nvidia-smi

出现你的显卡配置信息的话,就ok。

安装torch的cuda支持

刚才装的cuda是通用的,是所有的程序框架都可以用的啊。但是你让torch用cuda的话,还要安装2个库cutorch和cunn。其实torch安装相应的其他库还是很简单的,直接一条命令搞定。

luarocks install cutorch
luarocks install cunn

测试一下

th -e "require 'cutorch'; require 'cunn'; print(cutorch)"

此时到这里应该还是妥妥的.

安装cudnn

其实cudnn就是一些链接库,怎么安装呢。把cudnn的头文件放入和相应的链接库放入cuda路径的相应位置就行了。显然头文件是放入include文件夹中,而链接库是放入lib64文件夹中。因此有

tar -xzvf  cudnn-8.0-linux-x64-v5.1.tgz
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include/

最后在安装torch的cudnn支持

luarocks install cudnn

测试一下:

th neural_style.lua -gpu 0 -backend cudnn

几乎是百分百成功的,妥妥的,可能会出现坑二

坑1:torch的依赖库很多!!

curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash

运行这个时,一定会经过较长时间的安装!!!!由于我这里的网很差,所以如果你的也有类似的情况,那么可能会出现:“xxx 校验和不符”。这时说明完全没有安装依赖库好吧!!我以前以为已经装好了,直接下完neural-style,然后./install.sh。我擦,结果出现什么cmake not found之类的。然后我还傻乎乎的去 sudo apt-get install cmake。结果又出现其他乱七八糟的,现在就是一句话:curl -shttps://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash是把所有的依赖库都会安装好!!并且安装完之后会有类似提示:“torch dependencies have already installed.”

坑2 可能出现’libcudnn 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)

LD_LIBRARY_PATH是该环境变量,主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。由于刚才已经将
“libcudnn*”复制到了/usr/local/cuda-8.0/lib64/下面,因此需要

  1. sudo gedit /etc/ld.so.conf.d/cudnn.conf 就是新建一个conf文件。名字随便
  2. 加入刚才的路径/usr/local/cuda-8.0/lib64/
  3. 反正我还添加了/usr/local/cuda-8.0/include/,这个估计不要也行。
  4. 保存后,再sudo ldconfig来更新缓存。(可能会出现libcudnn.so.5不是符号连接的问题,不过无所谓了!!)

此时运行

th neural_style.lua -gpu 0 -backend cudnn

成功了!!!!

发现用cudnn时,变成50个50个一显示了,速度快了些。刚才但存用cuda只是1个1个显示的。不说了,歇会儿。

总结

一定要版本对应!!cuda和cudnn的版本一定要对应,对应!!!!

HDF5安装

torch中如果直接

luarocks install hdf5

是会出错的。要这样:

sudo apt-get install libhdf5-serial-dev hdf5-tools
git clone https://github.com/deepmind/torch-hdf5
cd torch-hdf5
luarocks make hdf5-0-0.rockspec LIBHDF5_LIBDIR="/usr/lib/x86_64-linux-gnu/"

具体的一些用法参照
DeepMind

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读2.3k次,点赞4次,收藏22次。最近安装了CARLA预编译版,总体过程感觉还是挺简单的,但是由于在网上找的参考资料并没有和自己遇到的情况完全一样的,所以把自己的安装过程记录下来,方便和自己一样的后来人进行安装,同时也自己作个记录留作备忘。其实预编译版的CARLA本身几乎不用什么命令行进行安装,主要步骤只有解压缩和拷贝文件,和极少的命令行安装操作。但是相关依赖以及其它的CARLA所使用的一些工具需要一起安装好,下面一起来看看安装步骤吧。_ubuntu22.04安装carla
文章浏览阅读6.3k次,点赞5次,收藏15次。在清华镜像中下载Ubuntu 20 安装包_ubuntu20下载
文章浏览阅读5k次。linux环境, python3.7.问题描述: 安装rally, pip3 install -r requirements.txt 时提示如下: 说明openssl 已安装。解决:1. pip3 install --upgrade pip , 结果输出如下 ..._error: command '/usr/bin/gcc' failed with exit code 1
文章浏览阅读1.1k次。自己刚踩坑装好的W11 WSL2 miniconda_wsl2 cuda
文章浏览阅读4.2k次,点赞4次,收藏17次。要安装这个 standalone的,会有一点区别(不识别 下面的 -localhost no)上面的命令会在~/.vnc/目录下生成一个 passwd文件。具体端口号,可以查看vncserver -list返回结果中的RFB PROT。作用是vncserver启动的时候运行这些命令,把桌面程序启动起来。如果希望用某个用户比如 demo登录,就用su切换到这个用户。桌面版默认就已安装,服务器版需要手动安装,并启动。关闭某个会话可以用下面的命令。远程地址输入ip:port。查看全部的vnc会话。_ubuntu vncserver
文章浏览阅读894次,点赞51次,收藏31次。在安卓使用vscode主要是连接一个远程的code-server服务,code-server服务安装在什么系统,调用的就是什么系统的环境,如这里使用ubuntu进行安装code-server,那使用的就是ubuntu环境,如需要go,python,java开发,需要在Ubuntu安装相关环境,创建的文件夹和项目也是在Ubuntu里面.这种方式其实在访问vscode的时候利于可以随时随地进行连接使用,且不受设备影响。
安装Ubuntu上超好用的终端Terminator。通过添加软件源、更新源、安装Terminator等步骤完成。
文章浏览阅读1.1k次,点赞83次,收藏74次。不要嫌弃Ubuntu的单调的终端界面啦,快来试试这些有意思的命令_ubuntu系统有趣的玩法
文章浏览阅读2.5k次。在ubuntu系统中,swap空间就是虚拟内存,所以考虑在磁盘空间富余的目录下设置虚拟内存swap文件,用来缓解内存不足的问题。通过上面的信息可以看到,/dev/vda2 目录下还剩余45G,那么就可以把swap文件生成在/dev/vda2目录下。在系统监控中发现,当数据库服务程序启动后,占用了大量内存空间,导致系统的剩余的内存往往只有几十MB。# bs 为块的大小,count 创建多少个块。# 执行命令后,删除创建的swap目录即可。#把生成的文件转换成 Swap 文件。2、创建一个swap文件。_ubuntu20修改swap大小
文章浏览阅读2.9k次,点赞2次,收藏10次。记录RV1126的SDK编译错误,以及解决处理_command exited with non-zero status 1
文章浏览阅读1.1w次,点赞22次,收藏101次。【记录】ubuntu20.04安装nvidia显卡驱动_ubuntu20.04安装nvidia显卡驱动
文章浏览阅读727次,点赞6次,收藏27次。在嵌入式Linux开发过程中,可能遇到uboot无法通过nfs服务从Ubuntu下载系统镜像(TTTTTT)的问题。如果你使用的是较新版本的Ubuntu,那么其**默认内核将不支持nfs2**!而**uboot仅支持到nfs2**,因此我们需要修改系统内核以及nfs配置文件,开启nfs2服务。**此问题非常棘手**,因为问题出现的时间太近,并且使用的人少。由于是2023年后才出现的问题,**chatgpt也无法解答**!本文参考网络上多篇博客资料,是解决此问题的最新办法。
ubuntu系统下安装软件的方法有多种,包括使用apt工具、deb软件包安装、源码编译安装以及通过软件中心安装。还有一种以 .run 后缀的软件包也可以在ubuntu系统下安装。具体的安装方法可以通过百度搜索来获取。
文章浏览阅读814次。本篇目的:Xubuntu如何安装pkg-configpkg-config是一个计算机软件包,用于帮助开发人员查找、定位和使用依赖库。它通常用于构建软件时,开发人员需要指定程序所依赖的外部库的位置和版本信息。使用pkg-config,开发人员可以很容易地查找、检索和导出这些依赖库的信息,从而简化了软件的构建过程。_ubuntu中怎么下载pkg-config
文章浏览阅读2k次。ubuntu创建共享文件夹_ubuntu20.04共享文件夹
文章浏览阅读2.9k次,点赞74次,收藏73次。对于有长期远程桌面需求的用户,建议将cpolar套餐升级到专业套餐,支持配置固定的公网TCP端口,且带宽也会相应的增大,支持更高效便捷的远程桌面连接Ubuntu系统。【cpolar内网穿透支持http/https/tcp协议,支持永久免费使用,不限制流量,无需公网IP,也不用进入路由器设置,操作简单。隧道创建成功后,点击左侧仪表盘的状态——在线隧道列表,查看xrdp隧道的所生成的公网TCP端口地址,复制下来。,使用cpolar内网穿透映射3389端口,生成公网TCP端口地址,实现在公网环境下,_ubuntu 局域网桌面
文章浏览阅读3.2k次。而在linux的ubuntu版本中,又多出两类用户:安装ubuntu系统的源用户xxx,其与root具有相同权限,仅在执行命令时,前面加sudo。在ubuntu中,用命令deluser username可以直接删除用户账号及家目录,而用centos7中的命令userdel -r username才能达到同样目的。在ubuntu中,没有moduser命令,centos7中的usermod修改用户信息的命令,同样可以用在ubuntu中。在系统中,创建新的用户或称为账号,一般需要多步操作。_ubuntu创建一个新用户
文章浏览阅读1.6w次,点赞4次,收藏23次。系统的许多日志文件都存储在 /var/log 目录中。你可以使用 ls /var/log 命令来列出可用的日志文件。/var/log/Xorg.0.log:包含 X 服务器的日志信息(图形界面)。打开DASH,搜索日志或者log,打开app,这个是/var/log的界面版。这将显示系统日志的末尾,并提供有关系统崩溃和错误的信息。/var/log/kern.log:包含内核日志信息。/var/log/dmesg:包含开机时的日志信息。/var/log/syslog:包含系统日志信息。_ubuntu查看系统日志
文章浏览阅读857次。首先将source.list复制为source.list.bak备份,然后将source.list内容改为需要的镜像源列表即可。Ubuntu采用apt作为软件安装工具,其镜像源列表记录在/etc/apt/source.list文件中。本节均为 Ubuntu 20.04 的镜像源列表。若为其他版本,将所有focal更改为其他版本代号即可。_apt 国内源