pytorch-0.2成功调用GPU:ubuntu16.04,Nvidia驱动安装以及最新cuda9.0与cudnnV7.0配置

简介: 前言 从安装ubuntu系统配置pytorch-GPU环境开始就已经走上了不归路,本以为没什么大问题,但其实坑非常的多,在此写上安装过程中遇到的种种问题与大家分享,希望大家少走弯路! 另外要说明,安装过程中一定要仔细看c.

前言

从安装ubuntu系统配置pytorch-GPU环境开始就已经走上了不归路,本以为没什么大问题,但其实坑非常的多,在此写上安装过程中遇到的种种问题与大家分享,希望大家少走弯路!

另外要说明,安装过程中一定要仔细看cuda、cudnn的官方文档,官方文档写的过程非常的详细,仔细看之后再安装会避免不少的问题!


电脑配置

电脑为个人闲置的笔记本电脑:
处理器:i7-6700
显卡:GTX 965M(集显)
系统ubuntu16.04


之前在安装nvidia-cuda-toolkit7.5的时候出现了错误,原因是在安装nvidia驱动之后,使用命令nvcc -V进行查看的时候,系统提示没有安装nvidia-cuda-toolkit,让使用apt-get命令进行安装,但是使用该命令安装后的cuda有问题。虽然通过nvcc -V命令可以查询到tool信息,但是在usr/local却没有发现安装文件,例程找不到,程序也无法调用工具包,估计安装出错,故卸载重新安装最新版。
(所以最好不要在终端中直接下载和安装cuda,大小1G多,在终端下载很容易出现问题,最好下载好直接安装)

于是使用命令sudo apt-get autoremove nvidia-cuda-toolkit卸载当前的cuda7.5版本

下载最新的cuda_9.0.176_384.81_linux.run
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal
下载支持与cuda9匹配的cudnn: cuDNN v7.0.3 (Sept 28, 2017), for CUDA 9.0
https://developer.nvidia.com/rdp/cudnn-download

注意!

1、在官网下载cuda9的时候总是下到一半就停住了,下载也一样,最后试了几次总结:与网络关系不大,与下载环境有关,可以多换着环境下载。注意不要使用迅雷和360浏览器下载、使用谷歌浏览器或火狐浏览器下载;

2、这个cuda9.0安装包里面包含了很多东西,其中包括了与当前cuda版本匹配的nvidia驱动,所以在安装前,建议在安装前卸载掉与NVIDIA相关的所有东西以防之后在安装过程中发生冲突。

这里写图片描述

使用sudo apt-get remove --purge nvidia*命令卸载掉所有系统上存在的nvidia驱动。

安装前进行检查(必要)

1、 检查自己的GPU是否为CUDA-capable,即是否支持cuda

使用命令 $ lspci | grep -i nvidia ,来检查gpu版本信息,然后在官网查找是否有你的显卡在支持列表中(满足条件),如果上面那个命令无法执行,执行update-pciids (generally found in /sbin) 命令更新后重新来一遍。
查询网址:http://developer.nvidia.com/cuda-gpus

2、检查自己的linux版本是否支持CUDA

使用命令:$ uname -m && cat /etc/*release,一般来说,ubuntu16.04和14.04都没有问题

3、查看自己的系统中是否安装了gcc

使用命令$ gcc --version来查看

4、查看自己的系统是否安装了正确的kernel header和package development

使用命令:$ uname -r查看
使用$ sudo apt-get install linux-headers-$(uname -r)
来安装对应的kernel header和package development

这里写图片描述
上面是我的配置,你可以看看你的是否符合,具体详细的问题可以上官网查询。

开始安装

选择安装方式

提供distribution-specific packages (RPM and Deb packages)和 distribution-independent package (runfile packages),这个安装方式各有其优点,但是官方建议使用runfile方式来进行安装,我也是用这个方式进行安装的。

安装cuda9.0

从官方下载cuda的时候,发现已经推送了最新版的(2017-11)9.0版,当然能用最新就用最新,虽然pytorch上面未写的支持9.0,但接口都是一样的,所以这里直接拿来用了。

1、首先禁止 Nouveau驱动
先查看以下驱动是否工作(如果打印出来信息则说明在工作)

$ lsmod | grep nouveau

创建一个 /etc/modprobe.d/blacklist-nouveau.conf 文件,里面写上

blacklist nouveau
options nouveau modeset=0

然后进行更新

$ sudo update-initramfs -u

2、然后退出图形界面,按alt+ctrl+f1进入命令行模式,输入sudo service lightdm stop 关闭图形化界面,然后切换到cuda安装文件的路径,也就是之前下载好的目录,运行sudo sh cuda_9.0.176_384.81_linux.run

然后就开始进行安装,安装过程中会安装一下几个东西:
EULA Acceptance
CUDA Driver installation
CUDA Toolkit installation, location, and /usr/local/cuda symbolic link
CUDA Samples installation and location
其中会问题是否安装openGL,强烈建议选择不要安装(除非你的显卡主设是NVIDIA),我当时选安装后重启直接进不了图形界面。其他的默认选推荐就行。

3、安装完成后,重启图形界面sudo service lightdm start
按alt+ctrl+f7之后回到图形界面,登录
注意,如果这时候登录不了,一直循环重复登录,不要着急,看下头的问题汇总。

4、重启电脑,进行Device Node 检查
检查你的路径/dev下 有无存在名为nvidia*(以nvidia开头)的多个文件(device files),如果没有
进入目录/etc/init.d中创建一个.sh文件(名字随便起),然后写入

这里写图片描述

下面的格式有乱,按照上面修改即可(从官网粘过来就这样,没粘其他字符)

#!/bin/bash /sbin/modprobe nvidia if [ "$?" -eq 0 ]; then # Count the number of NVIDIA controllers found. NVDEVS=`lspci | grep -i NVIDIA` N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l` NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l` N=`expr $N3D + $NVGA - 1` for i in `seq 0 $N`; do mknod -m 666 /dev/nvidia$i c 195 $i done mknod -m 666 /dev/nvidiactl c 195 255 else exit 1 fi /sbin/modprobe nvidia-uvm if [ "$?" -eq 0 ]; then # Find out the major device number used by the nvidia-uvm driver D=`grep nvidia-uvm /proc/devices | awk '{print $1}'` mknod -m 666 /dev/nvidia-uvm c $D 0 else exit 1 fi

写好后保存即可。

5、设置环境变量
进入/home,终端中输入 $ sudo gedit .bashrc (ubuntu)
在打开的文件末尾,添加以下两行。(64位)

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\
                         ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存后,执行env检查一下看是否成导入环境变量。
到此,cuda的安装就基本完成了

cuda安装后进行验证

1、检查 NVIDIA Driver是否安装成功
输入:$ cat /proc/driver/nvidia/version 输出NVIDIA Driver的版本号
2、检查 CUDA Toolkit是否安装成功
输入 : $ nvcc –V 会输出CUDA的版本信息
3、进行编译cuda提供的例子
进入例子存放的路径,默认路径是 ~/NVIDIA_CUDA-9.0_Samples
(即 /home/x/ NVIDIA_CUDA-9.0_Samples, x是你的用户名)
终端输入:$ make
开始进行编译,如果出现错误则会停止编译,注意编译过程稍微长一些,10来分钟,可以看会别的
4、运行编译生成的二进制文件。
编译后的二进制文件 默认存放在~/NVIDIA_CUDA-9.0_Samples/bin中。
切换路径 : cd ~/NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release
终端输入 :$ ./deviceQuery
如果出现下面的图片,Result = PASS则说明安装成功!!

这里写图片描述

然后运行 bandwidthTest 程序确保系统和 CUDA-capable device可以正常的进行通信。

这里写图片描述

同样出现pass说明成功!
开始cudnn的安装

cudnn安装

cudnn安装相对比较简单,只要将相应的文件复制到相应的目录即可
1、进入到你下载好的cuDNN的目录
2、进行解压cuDNNU

$ tar -xzvf cudnn-9.0-linux-x64-v7.tgz

3、复制下面的文件到你的cuda文件中

$ 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
/usr/local/cuda/lib64/libcudnn*

到此cuda和cudnn的安装就结束了,开始pytorch的安装!

安装pytorch

很多人建议安装源码版本的,从github上进行源码下载,这样如果不使用cuda的话问题不大,如果你安装了cuda的话,在进行源码编译的时候会顺便编译cuda的文件,这时候很容易出现gcc和cmake编译的问题,本人当时安装的时候出现了许多编译问题,无法安装成功。

安装前首先引入路径环境,将以下写到~/.bashrc中,路径为anaconda的bin路径,一般为~/anaconda3/bin

export CMAKE_PREFIX_PATH="$(dirname $(which conda))/../" # 

在安装pytorch之前还需要安装一些其他依赖软件,同样通过conda进行安装,这时候可以切换成清华源,来加快下载:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

切换后安装:

conda install numpy pyyaml mkl setuptools cmake cffi

然后,通过conda进行安装pytorch即可

conda install pytorch torchvision cuda80 -c soumith

等待安装后,进行测试即可

这里写图片描述

Import torch后打印系统是否支持cuda,如果初出现True则说明安装成功!

print(torch.cuda.is_available())

到此就成功完成了pytorch0.2-gpu版本的安装和测试,接下来就可以愉快地进行玩耍测试了!

安装过程中出现的问题

1、分辨率发生变化:could not apply the stored configuration for monitors

好吧,在卸载掉所有nvidia驱动和cuda重新安装后,重启发现桌面分辨率出现问题…竟然找不到分辨率配置信息,导致出现的分辨率很低。我之前是1920*1080的分辨率
从网上查到了解决方法:
打开/etc/X11/xorg.conf
1、在Section “Monitor”中添加一行ModeLine

ModeLine "1920x1080" 148.5 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync

2、根据monitor的手册修改Section “Monitor”中的水平和垂直扫描参数

HorizSync    31.469 - 75.0
VertRefresh  59.86 - 70.087

2、修改Section “Screen”下的SubSection “Display“里的Modes
增加”1920x1080” ,而且要排在第一个
3、重启电脑

参考资料

1、NVIDIA官网,CUDA-toolkit-documtation:
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#pre-installation-actions

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
目录
相关文章
|
5月前
|
缓存 并行计算 PyTorch
PyTorch CUDA内存管理优化:深度理解GPU资源分配与缓存机制
本文深入探讨了PyTorch中GPU内存管理的核心机制,特别是CUDA缓存分配器的作用与优化策略。文章分析了常见的“CUDA out of memory”问题及其成因,并通过实际案例(如Llama 1B模型训练)展示了内存分配模式。PyTorch的缓存分配器通过内存池化、延迟释放和碎片化优化等技术,显著提升了内存使用效率,减少了系统调用开销。此外,文章还介绍了高级优化方法,包括混合精度训练、梯度检查点技术及自定义内存分配器配置。这些策略有助于开发者在有限硬件资源下实现更高性能的深度学习模型训练与推理。
989 0
|
5月前
|
机器学习/深度学习 并行计算 PyTorch
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
本文记录了在RTX 5070 Ti上运行PyTorch时遇到的CUDA兼容性问题,分析其根源为预编译二进制文件不支持sm_120架构,并提出解决方案:使用PyTorch Nightly版本、更新CUDA工具包至12.8。通过清理环境并安装支持新架构的组件,成功解决兼容性问题。文章总结了深度学习环境中硬件与框架兼容性的关键策略,强调Nightly构建版本和环境一致性的重要性,为开发者提供参考。
2691 64
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
|
11月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
1353 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
11月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
10946 4
|
7月前
|
存储 机器学习/深度学习 PyTorch
PyTorch Profiler 性能优化示例:定位 TorchMetrics 收集瓶颈,提高 GPU 利用率
本文探讨了机器学习项目中指标收集对训练性能的影响,特别是如何通过简单实现引入不必要的CPU-GPU同步事件,导致训练时间增加约10%。使用TorchMetrics库和PyTorch Profiler工具,文章详细分析了性能瓶颈的根源,并提出了多项优化措施
320 1
PyTorch Profiler 性能优化示例:定位 TorchMetrics 收集瓶颈,提高 GPU 利用率
|
6月前
|
机器学习/深度学习 并行计算 PyTorch
Windows下CUDA+pytorch安装
以下是关于在Windows下安装CUDA和PyTorch的简要介绍及参考链接:
348 0
Windows下CUDA+pytorch安装
|
11月前
|
PyTorch TensorFlow 算法框架/工具
Jetson环境安装(一):Ubuntu18.04安装pytorch、opencv、onnx、tensorflow、setuptools、pycuda....
本文提供了在Ubuntu 18.04操作系统的NVIDIA Jetson平台上安装深度学习和计算机视觉相关库的详细步骤,包括PyTorch、OpenCV、ONNX、TensorFlow等。
968 1
Jetson环境安装(一):Ubuntu18.04安装pytorch、opencv、onnx、tensorflow、setuptools、pycuda....
|
11月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
3690 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
11月前
|
并行计算 PyTorch 编译器
|
8天前
|
机器学习/深度学习 数据采集 人工智能
PyTorch学习实战:AI从数学基础到模型优化全流程精解
本文系统讲解人工智能、机器学习与深度学习的层级关系,涵盖PyTorch环境配置、张量操作、数据预处理、神经网络基础及模型训练全流程,结合数学原理与代码实践,深入浅出地介绍激活函数、反向传播等核心概念,助力快速入门深度学习。
39 1

热门文章

最新文章