深度学习工具 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;

相关推荐
_小雨林5 小时前
(UPDATING)LLM微调之实战,SFTTrainer官方案例、LoRA/QloRA微调案例、Unsloth、分布式训练、LLaMA Factory
人工智能·深度学习
xiaotao1316 小时前
03-深度学习基础:循环神经网络(RNN)
人工智能·深度学习·机器学习
今日说"法"8 小时前
数值计算与浮点误差:深度学习中梯度崩溃的数学根源与归一化对策
人工智能·深度学习
LaughingZhu8 小时前
Product Hunt 每日热榜 | 2026-04-21
人工智能·经验分享·深度学习·神经网络·产品运营
Techblog of HaoWANG8 小时前
目标检测与跟踪(16)-- Ubuntu 20.04 下 ROS1 + Conda 虚拟环境开机自启动方案(兼容 ROS2 共存)
人工智能·目标检测·ubuntu·机器人·视觉检测·conda·控制
keineahnung23459 小时前
PyTorch 張量尺寸為 1 時,步長為何不具語意?
人工智能·pytorch·python·深度学习
思绪无限9 小时前
YOLOv5至YOLOv12升级:日常场景下的人脸检测系统的设计与实现(完整代码+界面+数据集项目)
深度学习·yolo·目标检测·日常场景下的人脸检测·yolov12·yolo全家桶
一休哥※10 小时前
YOLOv11改进系列 | 引入EMO ICCV2023的C3k2_iRMB模块,轻量注意力残差混合块增强C3k2,多尺度分割更稳更准
深度学习·yolo·计算机视觉
小超同学你好10 小时前
Transformer 27. Vision Transformer(ViT):把图像当作「词序列」的编码器
人工智能·深度学习·transformer
赋创小助手11 小时前
RTX PRO 6000 vs RTX 5090:从一组230B模型测试数据谈企业级推理选型
服务器·人工智能·科技·深度学习·自然语言处理