进行深度学习时您将需要的所有PyTorch功能。从实验/研究的角度来看。

PyTorch 已经成为现在创建神经网络的事实上的标准之一,我喜欢它的界面。但是,对于初学者来说,要获得它有些困难。

我记得几年前经过一些广泛的实验之后才选择PyTorch。实话实说,我花了很多时间才捡起来,但我很高兴我从Keras搬到 PyTorch。 凭借其高度可定制性和python语法, PyTorch可以与 他人一起工作,这是我的荣幸,我将其推荐给任何希望通过深度学习进行繁重工作的人。

因此,在本PyTorch指南中, 我将尝试减轻PyTorch对于初学者的痛苦,并介绍在使用Pytorch 创建任何神经网络时需要的一些最重要的类和模块。

但是,这并不是说它仅针对初学者,因为 我还将谈论 PyTorch提供的高可定制性,并谈论自定义的Layers,Datasets,Dataloaders和Loss函数。

张量

张量是PyTorch的基本构建块,简单地说,它们是NumPy数组,但在GPU上。在这一部分中,我将列出一些在使用Tensors时可以使用的最常用的操作。这绝不是张量可以执行的详尽操作列表,但是在进行更令人兴奋的部分之前了解张量是有帮助的。

1.创建张量

我们可以通过多种方式创建PyTorch张量。这包括从NumPy数组转换为张量。下面只是一个要点,下面是一些示例,但是您可以  像使用NumPy数组一样使用张量来做更多的事情。

2.张量运算

同样,您可以对这些张量执行很多操作。

编辑搜图

请点击输入图片描述

注意: 什么是PyTorch变量?在以前的Pytorch版本中,Tensor和Variables曾经是不同的,并且提供了不同的功能,但是现在不赞成使用Variable API ,并且所有用于Tensors的变量 方法都可以使用。因此,如果您不了解它们,那很好,因为它们不是必需的,如果您了解它们,则可以将它们忘记。

nn.模块

但是话又说回来,如果Pytorch没有提供很多现成的层,而这些层在各种神经网络体系结构中非常频繁地使用,则Pytorch不会被广泛使用。一些例子是:nn.Linear,nn.Conv2d,nn.MaxPool2d,nn.ReLU,  nn.BatchNorm2d,nn.Dropout,nn.Embedding,  ,,  ,,,nn.GRU/nn.LSTMnn.Softmaxnn.LogSoftmaxnn.MultiheadAttentionnn.TransformerEncodernn.TransformerDecoder

编辑搜图

图片模糊,建议替换或删除×

请点击输入图片描述

编辑搜图

请点击输入图片描述

在这里,我们定义了一个非常简单的网络,该网络接受大小为784的输入,并以顺序方式将其通过两个线性层。但是要注意的是,我们可以在定义前向通过时定义任何类型的计算,这使得PyTorch高度可定制以用于研究目的。例如,在疯狂的实验模式下,我们可能使用了以下网络,在该网络上我们任意附加了图层。在这里,我们在将输入再次添加回第二个线性层(跳过连接)之后,将输出从第二个线性层再次发送回第一个线性层。

编辑搜图

请点击输入图片描述

我们还可以检查神经网络正向传递是否起作用。通常,我首先创建一些随机输入,然后将其通过我创建的网络进行传递。

关于层的一句话

Pytorch非常强大,您实际上可以使用自己创建任何新的实验层 nn.Module。例如,而不是使用预定义的线性层 nn.Linear。从Pytorch以上,我们可以已经创建了 定制线性层。

您将看到如何在中包装权重张量。nn.Parameter.这样做是为了使张量被视为模型参数。

参数是 Tensor子类,当与Module-一起使用时具有非常特殊的属性 -当将它们分配为模块属性时,它们会自动添加到其参数列表中,并将出现在 parameters()迭代器中。

稍后您将看到,model.parameters()迭代器将成为优化器的输入。但是稍后会更多。现在,我们现在可以在任何PyTorch网络中使用此自定义层,就像其他任何层一样。

但是话又说回来,如果Pytorch没有提供很多现成的层,而这些层在各种神经网络体系结构中非常频繁地使用,则Pytorch不会被广泛使用。一些例子是:nn.Linear,nn.Conv2d,nn.MaxPool2d,nn.ReLU,  nn.BatchNorm2d,nn.Dropout,nn.Embedding,nn.GRU/nn.LSTM,nn.Softmax,nn.LogSoftmax,nn.MultiheadAttention,nn.TransformerEncoder,nn.TransformerDecoder

以上就是Torch的基础操作,下一篇文章会为同学们讲解卷积部分的操作。

数组nn从外围1递增_最完整的PyTorch数据科学家指南(1)相关推荐

  1. 通才与专家_那么您准备聘请数据科学家了吗? 通才还是专家?

    通才与专家 Throughout my 10-year career, I have seen people often spend their time and energy in passiona ...

  2. 袋装决策树_袋装树是每个数据科学家需要的机器学习算法

    袋装决策树 袋装树木介绍 (Introduction to Bagged Trees) Without diving into the specifics just yet, it's importa ...

  3. 近似算法的近似率_选择最佳近似最近算法的数据科学家指南

    近似算法的近似率 by Braden Riggs and George Williams (gwilliams@gsitechnology.com) Braden Riggs和George Willi ...

  4. 快速近似最近邻算法_数据科学家指南,以选择最佳近似最近邻算法

    快速近似最近邻算法 by Braden Riggs and George Williams (gwilliams@gsitechnology.com) Braden Riggs和George Will ...

  5. 数据结构两个月学完_这是我作为数据科学家两年来所学到的

    数据结构两个月学完 It has been 2 years ever since I started my data science journey. Boy, that was one heck o ...

  6. 线性判别用于提取词向量_你是合格的数据科学家吗?30道题测试你的NLP水平

    近日,analyticsvidhya 上出现了一篇题为<30 Questions to test a data scientist on Natural Language Processing ...

  7. 大数据定律与中心极限定理_为什么中心极限定理对数据科学家很重要?

    大数据定律与中心极限定理 数据科学 (Data Science) The Central Limit Theorem is at the center of statistical inference ...

  8. pytorch深度学习_深度学习和PyTorch的推荐系统实施

    pytorch深度学习 The recommendation is a simple algorithm that works on the principle of data filtering. ...

  9. python内置函数多少个_每个数据科学家都应该知道的10个Python内置函数

    python内置函数多少个 Python is the number one choice of programming language for many data scientists and a ...

最新文章

  1. opencv python 从摄像头获取视频、帧率、分辨率等属性设置和使用
  2. python训练馆_Python训练营 01
  3. pycharm黄色高亮提示:Default argument value is mutable
  4. 占内存小的qq_手机内存空间告急,这些办法就能轻松搞定!
  5. Oracle Study之--Oracle 11g RAC设置归档路径错误案例
  6. Curator实现分布式锁的基本原理-LockInternals.attemptLock
  7. 1.1收集域名信息-完整介绍
  8. python flask 上传下载 api_Flask 文件下载API
  9. 在SQL Server Management Studio 中建立外键约束
  10. 【编译器】G++常用命令
  11. RadioGroup 的使用
  12. 最近,前端开发把我恶心着了,为了甩锅,我写了个牛逼的日志切面!
  13. 心理平衡其实就这么简单
  14. android车载导航测试,嘟嘟车心安卓车载导航开箱体验
  15. 在创建生成WIFI二维码手机扫码链接
  16. 向上管理:如何正确汇报工作
  17. 清明节---山东又叫寒食节--吃冷食
  18. 基于人工蜂群算法的线性规划求解matlab程序
  19. Xiaojie雷达之路---雷达原理(二刷)相位法测角
  20. Python3全面基础学习

热门文章

  1. python的列表和元组
  2. django mysql内存泄漏_Django的:使内存的关系,而不保存到数据库
  3. C++接口工程实践:有哪些实现方法?
  4. java dump命令例子,常用命令示例
  5. 《刺客信条:英灵殿》全面分析:浅谈公式化开放世界
  6. Unite 2018 | 浅谈伽玛和线性颜色空间
  7. 零基础学Python(第十七章 模块import)
  8. ASM元数据备份与恢复:md_backup和md_restore
  9. 为什么公司的HR这么牛掰
  10. BZOJ2209: [Jsoi2011]括号序列