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

相关推荐
麻瓜生活睁不开眼3 小时前
Android16修改全局桌面视图边框四直角显示为弧边圆角
android·java·深度学习
workflower3 小时前
装备企业的 AI 路线图
人工智能·深度学习·机器学习·设计模式·机器人
西柚研究生1234567 小时前
创建自己的数据集(GoogLeNet)
深度学习·神经网络·cnn
逻辑君10 小时前
基于 PPO 的双足机器人行走控制
人工智能·深度学习·机器人
美狐美颜SDK开放平台12 小时前
直播APP开发,美颜SDK和相机SDK有什么区别?
android·深度学习·数码相机·ios·直播美颜sdk·视频美颜sdk
逻辑君13 小时前
基于 A2C 算法的双足机器人行走控制
人工智能·深度学习·算法·机器学习·机器人
罗西的思考14 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 — (14)— Teacher
人工智能·笔记·深度学习·算法·机器学习
薛定e的猫咪14 小时前
如何高效构建一个RAG知识库 dify实例与常见问题
人工智能·深度学习
手写码匠15 小时前
华为云Flexus+DeepSeek征文|DeepSeek+RAG知识库实战:基于Flexus X实例与Dify构建企业级智能问答系统
人工智能·深度学习·算法·aigc
bittersuite15 小时前
LeNet,AlexNet
人工智能·深度学习·机器学习