用人话讲解深度学习中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