深度学习工具 Anaconda、conda、CUDA、cuDNN、pytorch、Cuda Toolkit 解释

Anaconda

Anaconda 中文大蟒蛇,是一个开源的 Python 发行版本。

  • 包含了包括 Python、Conda、科学计算库等180多个科学包及其依赖项。Anaconda就是可以便捷获取包且对包能够进行管理,包括了python和很多常见的软件库和一个包管理器 conda
  • 同时Anaconda还附带捆绑了两个非常好用的交互式代码编辑器(Spyder、Jupyter notebook)。
  • 常见的科学计算类的库都包含在里面了,使得安装比常规python安装要容易,同时对环境可以统一管理的发行版本。因此,安装了 Anaconda 就不用再单独安装 Python。

conda

conda是一个包管理器,环境管理器。我们可以通过命令行(Anaconda prompt 或者终端)来使用它。

  • 使用 conda 在 Anaconda 中创建和管理不同的虚拟环境;
  • 安装、更新、卸载软件包,在安装软件包的时候能够自动安装其依赖项;

在 Anaconda 中 conda 可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。所以对虚拟环境进行创建、删除等操作需要使用 conda 命令。

和 pip 相比:

  • pip:不一定会展示所需其他依赖包,安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误;pip 只是包管理器,无法对环境进行管理。
  • conda:列出所需其他依赖包,安装包时自动安装其依赖项;可以便捷地在包的不同版本中自由切换;

如果想在指定环境中使用 pip 或者 conda 进行安装包,则需要先切换到指定环境中,再用命令安装。

CUDA

CUDA 是一个调用GPU的工具,现有的主流深度学习框架基本都是基于CUDA进行GPU加速的。

CUDA(Compute Unified Device Architecture)是由NVIDIA推出的并行计算平台和编程模型,用于利用NVIDIA GPU进行通用目的计算。CUDA允许开发人员使用C、C++、Python等编程语言在GPU上编写并行程序,从而加速各种计算密集型任务。

CUDA的主要作用包括:并行计算、加速计算、深度学习、科学计算。

cuDNN

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

如果把 CUDA 看作是一个配有很多像锤子、螺丝刀这样工具的工作台的话,cuDNN 就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,这样才能使GPU进行深度神经网络的工作。

pytorch

PyTorch是一个开源的深度学习框架,由Facebook的人工智能研究团队开发和维护。PyTorch提供了灵活的张量计算和动态计算图的功能,使得深度学习模型的设计、训练和部署变得更加简单和高效。

PyTorch的主要特点和用途包括:动态计算图、易于使用、动态神经网络、强大的计算能力。

GPU、Cuda Driver和 Cuda Toolkit的图解关系
  • Nvidia Driver驱动:操作系统和硬件GPU进行沟通交互的程序,没这个驱动,GPU就是一个摆设,调用不起来,所以得先装这个。装了这个电脑就能用GPU了,但是深度学习搞不定。
  • CUDA Toolkit工具包:是基于驱动程序,用来实现GPU并行计算和加速深度学习的软件包。通过这个软件包,调用驱动,实现更加高级的功能。
  • cudnn深度学习加速库:是专门针对深度学习的GPU加速库,如果你要使用深度学习框架,这个是必需的。虽然也是CUDA Toolkit的组件,但是官方的下载包里面并没有,需要自己额外下载。
  • pytorch,tensorflow深度学习框架:CUDA Toolkit并没有提供深度学习的框架,只是提供了如何高效调用GPU的软件库。如果你要创建深度学习模型,进行训练。还是要使用深度学习框架。
  • Nvidia官方下载的CUDA:官方下载的CUDA Toolkit是包含了驱动的,并且联合到一块是称为CUDA的。
  • conda下载的CUDA:是不包含驱动的,但是高版本的驱动,是向前兼容的,你可以下载相匹配的cuda toolkit,构成不同版本的cuda。

参考:

还是搞不懂Anaconda是什么?读这一篇文章就够了:https://blog.csdn.net/weixin_56197703/article/details/124630222;

anaconda、虚拟环境、cuda、pytorch、pycharm之间的关系,以及配置时出现的问题:https://blog.csdn.net/qq_53092944/article/details/136563738;

一文搞懂深度学习所有工具------Anaconda、CUDA、cuDNN:https://blog.csdn.net/everyxing1007/article/details/123703059;

一张图了解GPU、CUDA、CUDA toolkit和pytorch的关系:https://blog.csdn.net/Blackoutdragon/article/details/130233562;

相关推荐
BagMM17 小时前
FC-CLIP 论文阅读 开放词汇的检测与分割的统一
人工智能·深度学习·计算机视觉
金融小师妹1 天前
基于NLP语义解析的联储政策信号:强化学习框架下的12月降息概率回升动态建模
大数据·人工智能·深度学习·1024程序员节
山顶夕景1 天前
【RL】Does RLVR enable LLMs to self-improve?
深度学习·llm·强化学习·rlvr
cg50171 天前
基于 Bert 基本模型进行 Fine-tuned
人工智能·深度学习·bert
AndrewHZ1 天前
【图像处理基石】如何使用大模型进行图像处理工作?
图像处理·人工智能·深度学习·算法·llm·stablediffusion·可控性
人邮异步社区1 天前
如何有效地利用AI辅助编程,提高编程效率?
人工智能·深度学习·ai编程
星星上的吴彦祖1 天前
多模态感知驱动的人机交互决策研究综述
python·深度学习·计算机视觉·人机交互
全息数据1 天前
WSL2 中将 Ubuntu 20.04 升级到 22.04 的详细步骤
深度学习·ubuntu·wsl2
java1234_小锋1 天前
基于Python深度学习的车辆车牌识别系统(PyTorch2卷积神经网络CNN+OpenCV4实现)视频教程 - 自定义字符图片数据集
python·深度学习·cnn·车牌识别
青瓷程序设计1 天前
植物识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习