用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系

Posted 江江ahh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系相关的知识,希望对你有一定的参考价值。

本人深度学习入门菜鸟,整理了相关资料后做了如下笔记,如有错误欢迎指正。

CUDA

CUDA是显卡厂商NVIDIA推出的运算平台。CUDA™是一种由NVIDIA推出的通用并行计算架构,是一种并行计算平台和编程模型,该架构使GPU能够解决复杂的计算问题。CUDA英文全称是Compute Unified Device Architecture。

我们可以通过nvidia-smi命令查看cuda版本号

如上图,我的电脑cuda版本是11.7

CUDA Toolkit

CUDA Toolkit可以理解成一个工具包,主要包含了CUDA-C和CUDA-C++编译器、一些科学库和实用程序库、CUDA和library API的代码示例、和一些CUDA开发工具。

cudatookit版本有时会被简称为cuda版本,这也是我们经常搞混的一个原因。

cuDNN

cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络中的基础操作而设计基于GPU的加速库。cuDNN为深度神经网络中的标准流程提供了高度优化的实现方式。

简单来说,cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。

Pytorch

pytorch是基于CUDA的深度学习框架,因此,pytorch的版本必须依赖于cuda toolkit的版本。

如果你在读上面的一些名词的时候感觉模糊不清,那么可以直接来看下面的总结。(当然还是建议把不懂的地方搜索明白)

CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。

总结一下,食物链顶端的是CUDA这个工作台,也就是我们电脑的硬件配置,我们要先查看它的版本,然后根据这个来看我们都能下载多高的cudatookit版本,然后根据cudatookit版本来选择cudnn版本和可支持的pytorch版本

因此配置环境的流程为:

查看CUDA版本 ——> 选择cudatookit版本 ——> 选择cudnn版本 + pytorch版本

以上是关于用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系的主要内容,如果未能解决你的问题,请参考以下文章

深度学习环境配置详细教程(资源已上传)

利用Anaconda安装pytorch和paddle深度学习环境+pycharm安装---免额外安装CUDA和cudnn(适合小白的保姆级教学)

深度学习(TensorFlow)环境搭建:Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3

Torch使用: Ubuntu14.04(x64)+ CUDA8.0 安装 Torch

第七周.01.Message更新讲解+GCN实例

GPU版本pyTorch安装教程(实测,特别详细)