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

相关推荐
pen-ai24 分钟前
【机器学习】19. CNN 卷积神经网络 Convolutional neural network
人工智能·深度学习·机器学习·计算机视觉·cnn
云空24 分钟前
AI工具列表
大数据·人工智能·深度学习·学习·机器学习
forestsea42 分钟前
Springboot 整合 Java DL4J 构建自然语言处理之机器翻译系统
java·人工智能·spring boot·深度学习·自然语言处理·机器翻译·deep learning
pen-ai1 小时前
【机器学习】24. 聚类-层次式 Hierarchical Clustering
人工智能·深度学习·算法·机器学习·数据挖掘·聚类
AI视觉网奇2 小时前
显存占用 显存测试
pytorch·python·深度学习
懒惰才能让科技进步2 小时前
从零学习大模型(十三)-----LayerDrop 和 Layer Pruning
人工智能·python·深度学习·chatgpt·transformer·剪枝
梦想的初衷~3 小时前
WRF-LES与PALM微尺度气象大涡模拟
人工智能·深度学习·palm
曼彻斯特的海边4 小时前
CentOS 7上安装Conda
linux·centos·conda
WGS.4 小时前
libstdc++.so.6: version GLIBCXX_3.4.30‘ not found
深度学习