1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 使用conda在linux搭建pytorch和tensorflow的GPU运行环境

使用conda在linux搭建pytorch和tensorflow的GPU运行环境

时间:2020-02-05 23:19:24

相关推荐

使用conda在linux搭建pytorch和tensorflow的GPU运行环境

Tips: 本文使用的服务器为ubuntu18.04(1080ti x2)

文章目录

步骤总览:安装显卡驱动第一种:在可视化的界面中可以直接安装系统推荐的驱动第二种:命令行安装第三种:官网驱动安装(不推荐)下载驱动安装前准备工作下载编译基本环境屏蔽Nouveau关闭 X server 安装驱动 下载安装conda下载conda安装conda使用conda时可能遇到的问题 配置pytorch环境创建新的环境安装cudatoolkit和pytorch相关包测试pytorch的gpu 配置tensorflow环境CUDA、cuDNN的conda安装cudacuDNN 设置环境变量测试tensorflow 国内换源相关apt 换源

步骤总览:

安装显卡驱动下载conda配置pytorch环境配置tensorflow环境国内换源相关

安装显卡驱动

按简单顺序可分为3种,推荐第二种PPA安装。

第一种:在可视化的界面中可以直接安装系统推荐的驱动

ubuntu详见

第二种:命令行安装

可以通过命令行,安装PPA里面的nvidia驱动:

sudo add-apt-repository ppa:graphics-drivers/ppa --yessudo apt updatesudo apt search nvidia # 找到自己想安装的版本xxxsudo apt install xxx

第三种:官网驱动安装(不推荐)

可以参考nvidia 510.60.02 版本的官方教程,下文是对官方文档的一个简单概括:

下载驱动安装前准备工作:下载编译基本环境、关闭所有OpenGL应用、X Server以及屏蔽Nouveau、关闭bios的secure boot安装驱动

下载驱动

(1) 百度搜索"nvidia driver"或者"英伟达显卡驱动"(如果是在需要装环境的设备上搜索的记为情况一,通过远程ssh登陆的为情况二)

(2) 选择你的显卡类型和操作系统,我是装有1080ti的ubuntu amd64位的操作系统,所以选择的是:GeForce 10series, GeForece GTX 1080ti; Linux 64-bit, 保险起见语言选择English.之后点击搜索,点击download(这里要点击download一次)

(3) 进入下面界面,情况一直接点击下载,情况二拷贝下载链接,在远程连接的终端上输入wget+拷贝的链接,注意链接应含有.run(如:/content/DriverDownload-March/confirmation.php?url=/XFree86/Linux-x86_64/510.60.02/NVIDIA-Linux-x86_64-510.60.02.run&lang=us&type=TITAN)

安装前准备工作

下载编译基本环境

sudo apt updateapt install build-essential

屏蔽Nouveau

Nouveau是“Accelerated Open Source driver for nVidia cards”,需要在装官网的驱动之前屏蔽.

(1) 修改Nouveau的配置文件,下述代码使用的是here doc的技巧修改配置文件的,也可以以管理员权限使用vim:在/etc/modprobe.d/blacklist-nouveau.conf文件末尾添加下面第二、三行的内容。

cat <<EOF | sudo tee /etc/modprobe.d/blacklist-nouveau.confblacklist nouveauoptions nouveau modeset=0EOF

(2) 更新配置并重启

sudo update-initramfs -usudo reboot

(3) 重启后确认一下,重启的时候进入bios,并关闭secure boot(只是为了方便,才在这一步关闭,只要在安装驱动前关闭即可),如果看见Successs表示成功屏蔽

lsmod | grep "nouveau" > /dev/null && echo "WARNING: nouveau still active" || echo "Success"

关闭 X server

这里注意,请使用远程ssh操作,关闭X server会关闭图形化界面,不能保证关闭后电脑能够进入图形化界面(似乎与显示器是否接在显卡上有关),所以使用ssh操作比较保险

sudo init 3

安装驱动

cd directory_of_driver_downloadsudo bash NVIDIA-Linux-x86_64-*.run --dkmssudo reboot

之后一路确认即可后重启,最后用nvidia-smi确认一下

下载安装conda

下载conda

推荐使用国内镜像(如果服务器在国内的话),根据服务器选择合适的镜像源,比如我在南京且在高校内,所以选择了南京大学的镜像,类似的有清华、中科大、阿里、腾讯等等。

以南京大学镜像为例,百度搜索“南京大学mirror“,看一看地址: https://mirror./,是南京大学的域名(),不是广告。

进去后点击anaconda,我喜欢用miniconda,当然也可以选择archive,点击后选择符合系统的最新版本,这里和下载驱动一样,分情况一二。比如我是ubuntu amd64位,选“Miniconda3-py39_4.11.0-Linux-x86_64.sh”

类似的,如果想下载archive版本,我就会选择:

安装conda

sudo bash *conda3*.sh

一路下一步,即可,这里将conda的安装路径记为CondaPath(方便之后表述,下文中的CondaPath需要替换成实际安装的路径)

使用conda时可能遇到的问题

(1) 当出现NoWritableEnvsDirError的报错时:

sudo chmod -R 777 CondaPath

(2) 关闭自动初始化base环境

使用某些版本的vscode + remote ssh的时候建议关闭

conda config --set auto_activate_base false

配置pytorch环境

pytorch安装最为简单,可完全参考官网的conda安装.

创建新的环境安装cudatoolkit和pytorch相关包

创建新的环境

nameofenv 替换为自己想设定的名字,比如这里可以设置成pytorchenv

conda create -n nameofenv python=3.9

激活该环境

conda activate nameofenv

安装cudatoolkit和pytorch相关包

这里在官网选择好后复杂代码运行即可:

复制Run this Command对应的this command在终端运行:

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

测试pytorch的gpu

python -c "import torch;print(torch.cuda.is_available())"

返回True则说明安装成功,torch是自带cudnn的,所以只需要再设备安装驱动后再conda安装cudatoolkit和pytorch即可。

配置tensorflow环境

本文基于tensorflow官方软件要求进行安装:

必须在系统中安装以下 NVIDIA® 软件:

NVIDIA® GPU 驱动程序 - CUDA® 11.2 要求 450.80.02 或更高版本。CUDA® 工具包:TensorFlow 支持 CUDA® 11.2(TensorFlow 2.5.0 及更高版本)CUDA® 工具包附带的 CUPTI。cuDNN SDK 8.1.0 cuDNN 版本。(可选)TensorRT 6.0,可缩短用某些模型进行推断的延迟时间并提高吞吐量。

CUDA、cuDNN的conda安装

cuda

cudatoolkit,其实在pytorch的安装时也安装了cudatoolkit11.3,是可以直接套用的:conda install -c pytorch cudatoolkit=11.3在里的-c pytorch可以在cudatoolkit=11.3之前或之后,表示在名为pytorch的包频道(channel)中下载。(cuda 11.1及之后的版本才支持30系显卡)

当然更加通用的方法是在anaconda包官网上进行检索:

输入关键词“cuda”:

检索结果如下:

挑选一个,这里可以选择下载量最高的 conda-forge 的cudatoolkit,点击后页面会自动生成安装的命令:

可以通过在cudatoolkit后加=11.3来限定下载版本。

cuDNN

方法与cudatoolkit雷同,写本文时不推荐使用nvidia的,目前nvidia的频道版本不是最高的,其实包括cudatoolkit也不推荐下载nvidia版本。

此外推荐下载的还有TensorRT,也可以用类似的方法通过conda下载,但是笔者没有下载。

设置环境变量

在设置之前先定义一些需要结合自己情况替换的名词:

将Tensorflow的conda虚拟环境记住envoftf(可以和torch同环境,在torch环境搭建后仅需安装cuDNN即可)conda 的安装目前CondaPath,miniconda的默认安装目录是:~/miniconda3,这里使用绝对路径。

完成上述步骤后仍然是不可以使用tensorflow的gpu的,在官方教程中提到需要设置一个环境变量:

(1) 找真正的lib路径

不能直接使用官网提供的,因为使用的是conda,实际这些包并不在/usr/local/cuda/extras/CUPTI/lib64,可以通过两种方式找到:

(a) 根据规律拼接出目录:CondaPath/envs/envoftf/lib这里的CondaPathenvoftf需要自行替换

(b) 利用find命令:

find CondaPath -name libcu*.so* | xargs dirname | head -n 1

(2) 设置conda环境变量,并重新激活环境(conda activate envoftf)

conda env config vars set LD_LIBRARY_PATH=(1)中获得路径

测试tensorflow

python -c "import tensorflow as tf;print(tf.config.list_physical_devices('GPU'))"

返回设备列表,检测GPU数量是否和实际安装的一直。

国内换源相关

和选择conda的镜像一样,选择离稳定且离自己近的镜像源,这里仍然是使用南京大学的镜像.

这里讲解如何获得换源的设置,以ubuntu18.04的apt包源替换为例。

apt 换源

进入mirror的帮助界面:

不同镜像网站帮助放置位置不同,南大的在顶部,清华则是在首页的右下方的相关链接里:

进入帮助界面后选择ubuntu,按照里面的描述进行修改即可,清华的比较方便,支持ubuntu版本的选择,而南大需要自己手动修改对应版本名。

修改配置前最好备份原先配置:

sudo mv /etc/apt/sources.list /etc/apt/backup.sources.list

如果是其他发行版本的linux,则需选择对应的即可,conda换源也是如此,已经在macos常用的homebrew也是有的.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。