pytorch - 学习的先决条件和教学大纲(pytorch系列-00)

pytorch系列-00学习的先决条件和教学大纲

pytorch系列-01张量解释——深度学习的数据结构

pytorch系列-02深度学习中关于张量的阶、轴和形状的解释

pytorch系列-03CNN中张量的输入形状和特征图

pytorch系列-04Pytorch中张量讲解

pytorch系列-05PyTorch中张量的创建方法的选择

pytorch系列-06关于张量的Flatten、Reshape和Squeeze的解释

pytorch系列-07CNN的Flatten操作

pytorch系列-08PyTorch的Broadcasting 和 Element-Wise 操作

pytorch系列-09张量运算之ArgMax和Reduction

pytorch系列-10深度学习中的数据简介

pytorch系列-11CNN项目准备工作-图片的 Extract, Transform, Load (ETL)

pytorch系列-12PyTorch 中Datasets And DataLoaders的使用

pytorch系列-13面向对象编程的方式搭建CNN网络

pytorch系列-14CNN层参数详解

pytorch系列-15PyTorch神经网络中可学习的参数——CNN权重

pytorch系列-16PyTorch中Linear层的原理

pytorch系列-17PyTorch中CNN的Forward方法

pytorch系列-18基于前向传播解释CNN如何对图片预测

pytorch系列-19神经网络批处理

pytorch系列-20CNN输出大小公式

pytorch系列-21CNN训练示例

pytorch系列-22CNN循环训练的解释

pytorch系列-23CNN中的混淆矩阵

pytorch系列-24PyTorch,TensorFlow和NumPy中Stack Vs Concat

pytorch系列-25使用PyTorch的TensorBoard-可视化深度学习指标

pytorch系列-26超参数调整和实验-训练深度神经网络

pytorch系列-27Training Loop Run Builder-神经网络实验

pytorch系列-28CNN训练循环重构-同时进行超参数测试

pytorch系列-29PyTorch DataLoader Num_workers-深度学习限速提升

pytorch系列-30GPU 上的 PyTorch - 用 CUDA 训练神经网络

pytorch系列-31PyTorch数据集标准化-Torchvision.Transforms.Normalize()

pytorch系列-32PyTorch DataLoader 源代码 - 调试阶段

pytorch系列-33PyTorch Sequential Models - 简化神经网络

pytorch系列-34Batch Norm In PyTorch - 将归一化添加到 Conv 网络层中

pytorch - 学习的先决条件和教学大纲

  • python的编程经验
  • 深度学习的基础知识

ps: 建议掌握上述的先验知识。

知识结构

在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BhziDohk-1597552742423)(C:\Users\Fairy\AppData\Roaming\Typora\typora-user-images\image-20200725170905452.png)]
在这里插入图片描述

pytorch-相关介绍(python深度神经网络包)

  • PyTorch 既是一个深度学习框架也是一个科学计算包 。科学计算方面主要是PyTorch张量库和相关张量运算的结果。

  • tensor(张量) 是一个n 维数组或者一个n-D数组

  • python最流行的一个科学计算包是numpy,numpy-n维数组的转换包。

  • pytorch 是一个张量库 --这就使得numpy和pytorch有很高的互通操作性。

  • pytorch 张量及其相关操作与Numpy中的N维数组非常相似。
    - [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q0MqJLnZ-1597552742427)(C:\Users\Fairy\AppData\Roaming\Typora\typora-user-images\image-20200725220549497.png)]

  • 所有的深度学习框架都有两个特性:一个张量库,一个是用于计算导数的包。

  • 故,pytorch中的torch—张量库;torch.autograd --计算导数的包 —autograd (自动求导)

  • pytorch时我们专注于神经网络而不是实际的框架

  • pytorch的计算设计图是动态生成的,这对研究工作是十分有利的。
    - [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L2Vr2cWi-1597552742434)(C:\Users\Fairy\AppData\Roaming\Typora\typora-user-images\image-20200725221107430.png)]
    解放用户,就是不想让它们像抽象的或者复杂的api过程那样,给用户负担。

pytorch安装

cuda相关介绍/深度学习为什么使用GPU

  • 理解Cuda是什么,以及它如何与pytorch相结合的,为什么我们选用GPU做神经网络的编程
为什么选用GPU做神经网络的编程计算

有一种计算方式,我们称之为 并行计算 通过这种计算一个特定的计算被分解成独立的,可以同时进行的更小的计算。

神经网络是易平行,gpu通常有三千个,像高能gpu有三千个核可以并行运行计算

我们说,我们可以选择性地在gpu上或CPU上运行我们地计算,但为什么不直接在GPU上运行每个计算呢(GPU不是比CPU快嘛?)?

  • 由于GPU对于特定的专门任务来说,速度更快。在某种情况下会遇到性能较慢的瓶颈。例如,把数据从cpu转移到gpu上代价高昂,从而我们的性能就会降低,但是对于那些可以被分解成许多小任务的任务来说,GPU效果是很不错的。
CUDA是什么?

Cuda是为开发者提供API的软件层。通过下载Cuda工具包来使用Cuda,在这个工具包中,有一些专门的库,比如Cudnn(cuda深度学习神经网络库),现在cudnn一开始就由pytorch自带了,不需要额外的下载,同时,我们也可以用pytorch来驱动cuda.

GPU 作为底层的硬件,Cuda是GPU顶端的软件架构,最后是Cuda顶部的Cudnn库,之后我们再结合pytorch来进行开发。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AiM51blc-1597552742438)(C:\Users\Fairy\AppData\Roaming\Typora\typora-user-images\image-20200726162226114.png)]

Tensor的相关介绍,深度学习的数据结构

  • 张量的术语,张量的索引
  • 张量是神经网络使用的主要数据结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xci7MuKm-1597552742442)(C:\Users\Fairy\AppData\Roaming\Typora\typora-user-images\image-20200726171013138.png)]

  • 我们不需要去管张量在物理中的意义,在机器学习中,没有任何意义,我们用张量来表示数学中的标量,向量和矩阵,多维数组等,我们都用n维张量来表示,n告诉我们在结构中访问特定元素所需要的索引数量。即,在深度学习和神经网络编程中,张量是多维数组。

张量的基本属性(秩、轴和形状)

秩,轴,形状是相互建立的,从秩开始,然后是轴,最后是形状。
所有的秩,轴和形状都与索引的概念有本质上的联系
为什么引入形状,形状允许我们从概念上考虑甚至想象一个张量,更高阶张量更加抽象。
张量重塑的概念

  • 准备数据
  • 构建模型
    • 创建一个扩展nn.Module基类的神经网络类。
    • 在类构造函数中,将网络层定义为类属性。
    • 使用网络的层属性以及nn.functional API操作来定义网络的前向传递
  • 训练模型
  • 分析模型的结果
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch是一个开源的机器学习框架,它提供了一个灵活且高效的工具集,可用于构建各种类型的深度学习模型。PyTorch 使用动态计算图的方式来定义和计算网络模型,这使得模型的构建更加灵活,并提供了更好的调试和可视化功能。PyTorch具有丰富的库和接口,可以方便地进行数据加载、模型定义、训练和推断。 PyTorch-Memlab是一个用于分析PyTorch模型内存占用的工具。深度学习模型通常需要大量的内存来存储网络结构、参数和计算中间结果。PyTorch-Memlab通过记录和分析模型的内存使用情况,帮助用户优化模型的内存消耗,提高模型的运行效率。它可以用于查看各个模块和操作的内存使用情况,帮助用户识别内存泄露和优化模型的内存占用。 使用PyTorch,我们可以使用简单而直观的方式来构建深度学习模型,它提供了丰富的API和函数,用于定义和训练模型、优化模型参数、评估模型性能等。PyTorch还支持自动求导,使得梯度计算更加简单和高效。它还提供了用于并行化和分布式训练的工具,使得处理大规模数据和模型变得更加方便和高效。 PyTorch-Memlab可以帮助我们深入了解模型的内存占用情况,它可以告诉我们哪些模块或操作占用了大量的内存,帮助我们找到内存消耗较大的瓶颈和优化空间。通过使用PyTorch-Memlab,我们可以减少模型的内存占用,并提高模型的性能和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值