Debian系列操作系统安装CUDA+CUDNN+TensorFlow+Pytorch深度学习环境

Debian系列操作系统安装CUDA+CUDNN+TensorFlow+Pytorch深度学习环境

1. 简介

在实验室中,很多同学出现了设备环境中各式各样的NVIDIA显卡加速环境的问题,在最近笔者也正在做一些项目,但是都不同程度遇到了一些比较棘手的环境问题,所以以这篇文章来说明一下较为合理的环境配置方案。这里笔者选择的操作系统是国产操作系统Deepin,至于其他Debian系列的操作系统,安装过程是类似的。

2. 安装显卡驱动

软件源驱动程序安装方法
这里强烈建议安装操作系统源上的驱动程序,因为每当系统更新的时候,源上的显卡驱动是按照本身发型版本的依赖关系来进行安装的,所以有比较好的兼容性。输入以下的命令就可以查看源上的闭源NVIDIA显卡驱动的版本号是什么样的:

apt-cache madison nvidia-driver

这里会显示出显卡驱动版本号。
命令显示对于上述的深度学习环境,我们选择不必要太新的,一般情况下选择显卡驱动版本在440.x ∼ \sim 470.x版本较为恰当,有些操作系统(例如Deepin)在安装的时候就会提示是否安装Deepin闭源显卡驱动程序,但是这些预安装显卡驱动程序并不能达到我们的要求,因保证系统的稳定性,一般选择较为老旧的显卡驱动作为操作系统的显卡驱动程序(390.x),这样并不能更好地配置深度学习环境。
下一步则是安装源上的驱动程序(以deepin V20.5为例)

sudo apt install nvidia-driver-bin # for deepin

对于ubuntu系统可以用以下的命令对源上的程序进行查询处理

ubuntu-drivers device

这样就可以列举出对应的驱动程序,安装对应的驱动程序即可

sudo apt install nvidia-drivers-470

官网下载程序安装方法

另外,当然也可以选择从官网下载对应的驱动程序进行安装。这里需要注意的是,有些电脑设置有secure boot,所以在设置启动文件的时候注意这个的设置。

在安装之前,注意要将nouveau驱动禁用,也就是在文件/etc/modprob.d/blacklist.conf填写以下的内容禁用nouveau驱动

blacklist nouveau
options nouveau modeset=0

然后生成内核文件,注意对原来的内核文件进行备份处理

sudo cp /boot/initrd.img-XXX /boot/initrd.img-XXX.back
sudo cp /boot/vmlinuz-XXX /boot/vmlinuz-XXX.back
sudo update-initramfs -u

从官网下载好驱动程序之后,在安装驱动之前
首先安装gcc,make等一系列编译环境以及工具。

sudo apt install gcc-7 make

由于编译显卡需要一些内核编译的dev包还有一些headers,所以还需要安装以下的内核源码文件,这具体需要看显卡驱动需要什么样的内核,用以下的命令进行查询即可

apt search kernel
apt search headers

查找到对应的软件源文件之后,进行安装即可。(以Deepin V20.5为例)

sudo apt install linux-headers-5.10.101-amd64-desktop

3. 安装CUDA+CUDNN 环境

为了兼容TensorFlow 和Pytorch环境,通过TensorFlow官网和Pytorch官网查询,我们最终推荐选择以下的两种方案参考:

  • CUDA11.2+CUDNN8.1
  • CUDA10.2+CUDNN7.6.5

当然也可以选择以上两种环境同时安装,但是这里要注意的是,两种环境的安装注意在/usr/local/cuda/文件夹当中出现的一些软链接错误的一些问题。

两种环境的安装方法是类似的,首先需要安装一些必要的安装包

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

对于Debian系列的操作系统,可以选择Ubuntu18.04版本的(CUDA10.2+CUDNN7.6.5),以及Ubuntu20.04版本或者是Debian10版本的(CUDA11.2+CUDNN8.1)。为了保持软件的依赖关系稳定性,我们这里建议选择*.run文件进行安装,下载完成之后,安装的命令如下所示:

  • 对于CUDA10.2版本
sudo bash cuda_XX.XX.XX_XX.XX.XX --toolkit --toolkitpath=/usr/local/cuda-10.2 --librarypath=/usr/local/cuda-10.2 --samples --samplespath=$HOME/

CUDNN选择Linux x86-64版本进行安装。下载完成安装包之后,安装CUDNN7.6.5如下所示

tar -xvf  cudnn-10.2-linux-x64-v7.6.5.32.tgz
sudo mv cuda/include/* /usr/local/cuda-10.2/include/
sudo mv cuda/lib64/* /usr/local/cuda-10.2/lib64/
sudo chmod a+r  /usr/local/cuda-10.2/include/cudnn.h /usr/local/cuda-10.2/lib64/libcudnn*
  • 对于CUDA11.2版本
sudo bash cuda_XX.XX.XX_XX.XX.XX --toolkit --toolkitpath=/usr/local/cuda-10.2 --librarypath=/usr/local/cuda-10.2 --samples --samplespath=$HOME/

CUDNN依然选择Linux x86-64版本进行安装。下载完成安装包之后,安装CUDNN8.1如下所示

tar -xvf   cudnn-11.2-linux-x64-v8.1.1.33.tgz
sudo mv cuda/include/* /usr/local/cuda-10.2/include/
sudo mv cuda/lib64/* /usr/local/cuda-10.2/lib64/
sudo chmod a+r  /usr/local/cuda-10.2/include/cudnn.h /usr/local/cuda-10.2/lib64/libcudnn*

这样就可以将对应的CUDA包安装到/usr/local/cuda/usr/local/cuda-10.2/usr/local/cuda-11.2文件夹当中,但是安装过程当中注意对cuda链接工具的更新操作,选择适合于自己的开发环境进行安装处理。

4. 安装TensorFlow 和Pytorch环境

首先可以建立一个虚拟环境

conda create -n tensorflowv15 python=3.7
conda create -n pytorchv16 python=3.7
conda create -n tensorflowv2 python=3.7
conda create -n pytorchv19 python=3.7

我们这里建立四个环境对应于不同的环境进行模型的训练,然后安装对应的安装包即可
Tensorflow1.15.0环境

pip install tensorflow-gpu==1.15.0

Tensorflow2.2.0环境

pip install tensorflow==2.2.0

Pytorch 环境

pip install pytorch==1.x

安装TensorFlow环境之后经常会出现以下的一些问题,我们这里以CUDA11.2+CUDNN8.1+Tensorflow2.7.0为例,经常会出现以下的一些库文件无法找到

libcudart.so.11.0,libcublas.so.11,libcublasLt.so.11,libcufft.so.10,libcurand.so.10,libcusolver.so.10,libcusparse.so.11,libcudnn.so.8

在这样的情形下,只需要将对应的文件做一个软链接即可,例如

sudo ln -s libcublas.so.11.4.1.1043 libcublas.so.11
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Ubantu是一个开源的操作系统,而CUDA是一种用于并行计算的平台。它允许程序员使用NVIDIA的GPU进行高性能计算。Annaconda是一个Python的发行版本,它集成了许多常用的科学计算库,并提供了一个便于管理和使用这些库的环境。PyCharm是一个强大的Python集成开发环境,提供了丰富的开发工具和功能,可以帮助程序员编写、调试和管理Python代码。 在使用这些工具的过程中,可以按照以下步骤操作: 1. 首先,安装Ubantu操作系统。可以从Ubantu官方网站下载最新版本的Ubantu安装程序,按照提示进行安装。 2. 安装CUDA平台。可以从NVIDIA官方网站下载对应版本的CUDA,然后按照说明进行安装和配置。 3. 安装Annaconda。可以从Annaconda官方网站下载最新版本的Annaconda安装程序,然后按照提示进行安装。 4. 配置Annaconda环境安装完成后,可以通过命令行或图形界面工具设置Anaconda的环境变量和路径。 5. 安装PyCharm。可以从PyCharm官方网站下载最新版本的PyCharm安装程序,然后按照提示进行安装。 6. 配置PyCharm环境安装完成后,可以打开PyCharm并设置Anaconda环境作为项目的解释器,以便使用Anaconda提供的科学计算库。 通过以上步骤,我们可以在Ubantu操作系统上搭建起CUDA、Annaconda和PyCharm的开发环境,可以方便地进行CUDA并行计算以及使用Annaconda提供的科学计算库进行开发。同时,PyCharm作为一个强大的开发工具,可以帮助我们更高效地编写、调试和管理Python代码。综上所述,使用Ubantu、CUDA、Annaconda和PyCharm可以构建一个强大的科学计算和开发环境。 ### 回答2: Ubantu是一个操作系统,是Linux的一个发行版。它是基于Debian的GNU/Linux操作系统,具有开源的特点,并且免费使用。Ubantu的优点是安全性高,更新频繁,社区支持活跃,拥有丰富的软件库。 CUDA是一种由NVIDIA提供的并行计算平台和API模型。它可以帮助程序员利用NVIDIA的GPU进行高性能计算和科学计算。CUDA可以加速各种应用程序,特别是需要大规模并行计算的任务。 Annaconda是一种用于Python和R编程的包管理器,同时也是一个可视化的集成开发环境(IDE)。它提供了一个方便的方式来管理Python和R的包和依赖,同时也提供了许多强大的工具和库,使得开发人员可以更轻松地进行数据科学和机器学习的开发工作。 PyCharm是一种由JetBrains开发的Python集成开发环境(IDE)。它提供了许多强大的功能,如代码自动补全、调试器、版本控制等,使得开发人员可以更高效地开发Python应用程序。PyCharm还具有良好的插件生态系统,可以进一步扩展其功能。 综上所述,使用Ubantu作为操作系统,配合CUDA进行高性能计算,同时使用Annaconda和PyCharm进行Python开发工作,可以提供快速、安全、高效的开发环境,特别适用于数据科学和机器学习的工作。 ### 回答3: "Ubuntu"、"CUDA"、"Anaconda"和"PyCharm"都是与计算机编程和数据科学相关的软件工具。 Ubuntu是一种流行的开源操作系统,它是基于Linux的,可以用于桌面、服务器和移动设备。Ubuntu提供了丰富的软件库和强大的终端命令行工具,使用户能够轻松地安装和管理软件。对于编程和数据科学家来说,Ubuntu是一个理想的操作系统选择,因为它支持广泛的编程语言和开发框架。 CUDA是一种由NVIDIA开发的并行计算平台和应用程序接口,它支持使用GPU(图形处理器)进行高性能计算。CUDA可以用于加速各种计算任务,包括机器学习、深度学习和科学计算。它提供了一套简单的编程接口,使开发者能够方便地使用GPU进行并行计算。 Anaconda是一个用于Python和R编程语言的开源发行版本,在数据科学领域具有广泛的应用。Anaconda提供了一个管理和部署数据科学环境的平台,包括各种流行的Python库和工具,如NumPy、Pandas和Scikit-learn。它还包含了一个强大的包管理器,允许用户轻松地安装、更新和管理各种软件包。 PyCharm是一种由JetBrains开发的集成开发环境(IDE),专为Python开发而设计。它提供了一套完整的开发工具,包括代码编辑器、调试器、版本控制集成和自动化测试等功能。PyCharm具有强大的代码补全和错误检查功能,可以帮助开发者提高编码效率和质量。 综上所述,Ubuntu、CUDA、Anaconda和PyCharm都是常用于计算机编程和数据科学的重要工具。它们提供了强大的功能和便利的开发环境,让编程和数据科学工作变得更加高效和方便。无论是初学者还是专业人士,都可以通过使用这些工具来提升编程和数据分析的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值