热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度学习编程环境概念(GPU,Tensorflow,Docker,CUDA,CPU,CUDNN,Keras,Anaconda,PyTorch介绍)

简介

在深度学习过程中经常会遇到GPU, Tensorflow, Docker, CUDA, CPU, CUDNN, Keras, Anaconda, PyTorch等名次概念,也一直理不清这些编程环境的层次,所以做一个总结

总览

深度学习编程环境概念(GPU, Tensorflow, Docker, CUDA, CPU, CUDNN, Keras, Anaconda, PyTorch介绍)
越往下越底层

解释

CPU

中间处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。

GPU

图形处理器(英语:Graphics Processing Unit,缩写:GPU)。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作

OS

操作系统(Operating System)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。

CUDA

全称Compute Unified Device Architecture,是一个并行计算平台,同时也是一个API模型,支持C,C++和Fortarn。CUDA定义了GPU的虚拟指令集,使得用户可以直接控制GPU的并行计算单元,编写高效的并行程序。

cuDNN

全称CUDA Deep Neural Network library,基于CUDA提供高度调优的神经网络底层实现,例如卷积、池化、归一化和**函数。支持TensorFlow和PyTorch等多种框架。

简单来说,CPU适合串行计算,擅长逻辑控制。GPU擅长并行高强度并行计算,适用于AI算法的训练学习
CUDA 是NVIDIA专门负责管理分配运算单元的框架
cuDNN是用于深层神经网络的gpu加速库

conda

Conda是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换;
• Conda 是为 Python 程序创建的,用于管理版本和Python环境;
• 目前主流的Conda软件是:Anaconda 和Miniconda;
• Conda的两个重要功能:(1)环境管理 (2)Python包管理;

anaconda与miniconda

Anaconda 是 一 个 开 源 的Python发行版本,其包含了Conda 、 Python 、 Numpy 、Pandas等180多个科学包及其依赖项。
Miniconda 是 Anaconda 的轻量级替代,默认只包含了Python 和 Conda,但是可以通过 Pip 和 Conda 指令来安装所需要的包。
就是说miniconda是简约型anaconda

conda功能

重要功能一:环境管理
– 创建环境:conda create …
– **环境:activate …
– 返回主环境:deactivate …
– 删除环境:conda remove …
– 查看系统中的所有环境:conda info –e

重要功能二:包管理
– 安装库:conda install …
– 查看已经安装的库:conda list
– 查 看 某 个 环 境 的 已 安 装 包 :conda list –n…
– 搜 索 package 的 信 息 : conda search …

conda和pip

深度学习编程环境概念(GPU, Tensorflow, Docker, CUDA, CPU, CUDNN, Keras, Anaconda, PyTorch介绍)
总之,建议将Conda 与Pip 结合起来以创建数据科学环境

docker

容器

传统的虚拟化方式(虚拟机)占用资源多、启动时间长。针对这个问题Linux中发展出了轻量级虚拟化技术——Linux容器(Linux Container, LXC)。LXC不模拟完整的物理机系统,而是通过对进程隔离实现虚拟化。

Docker

Docker是Linux容器的一种封装。Docker将应用程序和需要的所有依赖打包到一个文件里(镜像)。Docker加载镜像可以创建Container(镜像的实例),运行Container后,可以提供同样的应用体验。
深度学习编程环境概念(GPU, Tensorflow, Docker, CUDA, CPU, CUDNN, Keras, Anaconda, PyTorch介绍)

TensorFlow

一个端到端的开源机器学习平台
端到端:该框架可以完成机器学习模型的全部流程,使得训练时可以同时优化整个模型 。
Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算。它可看作一个自动求导工具,在此基础上该平台实现了许多深度学习的基本函数和模型。
深度学习编程环境概念(GPU, Tensorflow, Docker, CUDA, CPU, CUDNN, Keras, Anaconda, PyTorch介绍)

Keras

一个高层的神经网络API,用python实现并且能在TensorFlow、CNTK或者Theano框架上运行。 Keras 的开发重点是支持快速的深度学习实验。

需要注意Keras 2.2.5. 以后的版本仅支持TensorFlow ,并且被封装为TensorFlow的一个模块 tf.keras

pytorch

特点

• 简洁:Pytorch的设计追求最少的封装,尽量避免重复造***;
• 高速:Pytorch的灵活性不以速度为待见,在评测中有良好表现;
• 易用:Pytorch的设计遵循“所思即所得”的理念;
• 扩展性好:Pytorch能无缝接入 Python 生态圈;
• 活跃的社区:Pytorch有完整的使用文档,Facebook人工智能研究院对Pytorch提供了强力的支持。
Pytorch的设计遵循“tensor -> variable(autograd) -> nn.Module”这三个由低到高的抽象层次,分别代表高维数组(张量),自动求导(变量)和神经网络(层/模块):

– 张量(tensor):类似于Numpy的ndarray,可以在GPU上使用来加速计算;
– 自动求导( autograd ):为张量上的所有操作提供了自动求导机制,它是一个在运行时定
义(define-by-run)的框架;
– 神经网络(nn.Module):依赖于autograd包来定义模型并对它们进行求导。

深度学习编程环境概念(GPU, Tensorflow, Docker, CUDA, CPU, CUDNN, Keras, Anaconda, PyTorch介绍)


推荐阅读
  • 在Windows命令行中,通过Conda工具可以高效地管理和操作虚拟环境。具体步骤包括:1. 列出现有虚拟环境:`conda env list`;2. 创建新虚拟环境:`conda create --name 环境名`;3. 删除虚拟环境:`conda env remove --name 环境名`。这些命令不仅简化了环境管理流程,还提高了开发效率。此外,Conda还支持环境文件导出和导入,方便在不同机器间迁移配置。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 在Conda环境中高效配置并安装PyTorch和TensorFlow GPU版的方法如下:首先,创建一个新的Conda环境以避免与基础环境发生冲突,例如使用 `conda create -n pytorch_gpu python=3.7` 命令。接着,激活该环境,确保所有依赖项都正确安装。此外,建议在安装过程中指定CUDA版本,以确保与GPU兼容性。通过这些步骤,可以确保PyTorch和TensorFlow GPU版的顺利安装和运行。 ... [详细]
  • 深入解析 Unity URP/SRP 渲染管线:匠心打造的全面指南
    本文深入探讨了Unity中的URP、SRP和HDRP渲染管线,详细解析了它们之间的关系及各自的特点。首先介绍了SRP的基本概念及其在Unity渲染架构中的作用,随后重点阐述了URP和HDRP的设计理念与应用场景。文章还分析了SRP诞生的背景,解释了为何Unity需要引入这一灵活的渲染框架,以满足不同项目的需求。通过对比URP和HDRP,读者可以更好地理解如何选择合适的渲染管线,以优化项目的性能和视觉效果。 ... [详细]
  • 本文详细介绍了在Windows操作系统上使用Python 3.8.5编译支持CUDA 11和cuDNN 8.0.2的TensorFlow 2.3的步骤。文章不仅提供了详细的编译指南,还分享了编译后的文件下载链接,方便用户快速获取所需资源。此外,文中还涵盖了常见的编译问题及其解决方案,确保用户能够顺利进行编译和安装。 ... [详细]
  • 使用 Jupyter Notebook 实现 Markdown 编写与代码运行
    Jupyter Notebook 是一个开源的基于网页的应用程序,允许用户在同一文档中编写 Markdown 文本和运行多种编程语言的代码,并实时查看运行结果。 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 本文将详细介绍如何在Mac上安装Jupyter Notebook,并提供一些常见的问题解决方法。通过这些步骤,您将能够顺利地在Mac上运行Jupyter Notebook。 ... [详细]
  • R语言中向量(Vector)数据类型的元素索引与访问:利用中括号[]和赋值操作符在向量末尾追加数据以扩展其长度
    在R语言中,向量(Vector)数据类型的元素可以通过中括号 `[]` 进行索引和访问。此外,利用中括号和赋值操作符,可以在向量的末尾追加新数据,从而动态地扩展向量的长度。这种方法不仅简洁高效,还能灵活地管理向量中的数据。 ... [详细]
  • 在Windows环境下离线安装PyTorch GPU版时,首先需确认系统配置,例如本文作者使用的是Win8、CUDA 8.0和Python 3.6.5。用户应根据自身Python和CUDA版本,在PyTorch官网查找并下载相应的.whl文件。此外,建议检查系统环境变量设置,确保CUDA路径正确配置,以避免安装过程中可能出现的兼容性问题。 ... [详细]
  • 从用户转型为开发者:一场思维升级的旅程 | 专访 StarRocks Committer 周威
    从用户转变为开发者,不仅是一次角色的转换,更是一场深刻的思维升级之旅。本次专访中,StarRocks Committer 周威分享了他如何在这一过程中逐步提升技术能力与思维方式,为开源社区贡献自己的力量。 ... [详细]
  • 本文提供了PyTorch框架中常用的预训练模型的下载链接及详细使用指南,涵盖ResNet、Inception、DenseNet、AlexNet、VGGNet等六大分类模型。每种模型的预训练参数均经过精心调优,适用于多种计算机视觉任务。文章不仅介绍了模型的下载方式,还详细说明了如何在实际项目中高效地加载和使用这些模型,为开发者提供全面的技术支持。 ... [详细]
  • 如何在Linux系统中部署TensorFlow的详细指南
    本文详细介绍了在Linux系统中部署TensorFlow的过程。作者基于北京大学曹建教授的MOOC课程进行学习,但由于课程内容较旧,环境配置方面遇到了不少挑战。经过多次尝试,最终成功解决了这些问题,并总结了一套详细的安装指南,帮助初学者快速上手TensorFlow。 ... [详细]
  • 谷歌工程师:TensorFlow已重获新生;网友:我还是用PyTorch
    乾明发自凹非寺量子位报道|公众号QbitAI道友留步!TensorFlow已重获新生。在“PyTorch真香”的潮流中,有人站出来为TensorFlow说话了。这次来自谷歌的工程师 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有