《深度学习原理与Pytorch实战》(第二版)
第1章 深度学习简介
深度学习——利用深度人工神经网络来进行自动分类、预测和学习的技术,深度学习=深度人工神经网络
超过三层的神经网络都可以叫做深度神经网络
人工神经网络的关键算法——反向传播算法
深度网络架构,即整个网络体系的构建方式和拓扑连接结构,主要分为3种:前馈神经网络、卷积神经网络、循环神经网络
前馈神经网络:也称全连接网络(fully connected neural network)
所有节点都分为一层一层的,每个节点只跟相邻层节点而且是全部节点相连接。一般分为输入层、输出层、隐含层深度学习重要的本领——从海量的数据中自动学习,抽取数据中的特征
第2章 Pytorch简介
- 使用切片(slicing)来访问张量,访问x中的第3列的全部元素,则输入: x[:,2]——书P22
- 一个计算图(computational graph)包括两类节点:变量(variable)和运算(computation)
传统的深度学习框架(Tensorflow、Theano等)使用静态计算图;Pytorch使用动态计算图
这个计算图,应该就是用Netron软件可视化出来的结果
看计算图的时候注意,箭头的指向,是由输出指向输入,例如y=x+2,则箭头由y指向+2,再指向x
- Pytorch中的一些技术细节——书P30
a. 进行运算的对象维度匹配
b. 不能直接对自动微分变量进行数值更新,只能对其的data属性的变量进行操作,例如对a操作,则对a.data进行操作
c. 在函数后加上_符号,就表明要用这个函数的计算结果更新当前的变量 - 权重weight、偏置bias
第3章 单车预测器——你的第一个神经网络
- 神经网络的运行通常包括前馈的预测过程(或称为决策过程)和反馈的学习过程——书P37
在反馈过程中,每个输出神经元会首先计算预测误差,然后将误差沿着网络的所有连边进行反向传播,得到每个隐含节点的误差,最后根据每条连边所连通的两个节点的误差计算连边上的权重更新量,从而完成学习和调整 - 科学家已从理论证明,用有限多的隐含神经元可以逼近任意的有限区间内的曲线,这叫做通用逼近定理(universal approximation theorem)
- 参数的更新要用到反向传播法,而pytorch已经将此算法用backward来表示了
- 为什么要清空梯度?
因为backward()函数是会累加梯度的。在进行一次训练之后,立即进行梯度反传,所以不需要系统累加梯度,不清空梯度则有可能导致模型无法收敛 - 一般训练集:测试集=10:1——书P62
——2024.5.3
《深度学习原理与Pytorch实战》(第二版)的更多相关文章
- JavaScript 高级程序设计第二版
20.4 部署 20.4.1 构建 构建过程始于在源控制中定义用于存储文件的逻辑结构.最好避免使用一个文件存放所有的JavaScript,遵循以下面向对象语言中的典型模式:将每个对象或自定义了类别分别 ...
- JavaScript 高级程序设计 第二版
function outputNumbers(count) { (function () { for (var i =0;i < count; i++) { ...
- javascript高级程序设计第二章知识点提炼
这是我整理的javascript高级程序设计第二章的脑图,内容也是非常浅显与简单.希望您看了我的博客能够给我一些意见或者建议.
- javascript高级程序设计---第二、三章
在HTML中引用javaScript javascript的几个属性 type async(异步加载 只适用于外部JS且IE8以上 HTML5规范 先于load执行) src defer(延迟加载 ...
- javascript高级程序设计第二章
看后总结: 1.js代码用得最多的两种加载方式: a)外部文件形式:<script type="text/javascript" src="jquery.min.j ...
- 读书笔记 - javascript 高级程序设计 - 第二章 在Html中使用JavaScript
1 <script>的6个属性 async 立即下载当前script标签的外部脚本 但不能影响别的 charset 没用了 defer 文档显示之后再执行脚本,只对外部脚本有效 lan ...
- 《JavaScript高级程序设计》(第二版)
这本书的作者是 Nicholas C.Zakas ,博客地址是 http://www.nczonline.net/ ,大家可以去多关注,雅虎的前端工程师,是YUI的代码贡献者,可想而知这本书得含金量, ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- JavaScript高级程序设计(第三版)学习笔记20、21、23章
第20章,JSON JSON(JavaScript Object Notation,JavaScript对象表示法),是JavaScript的一个严格的子集. JSON可表示一下三种类型值: 简单值: ...
- (读书笔记)函数参数浅析-JavaScript高级程序设计(第3版)
ECMAScript函数不介意传递的参数个数,因为在其内部是用一个数组进行表示的.在函数体内可以通过arguments对象来访问这个参数数组,就像我们正常访问数组一样处理. arguments对象只是 ...
随机推荐
- KingbaseES V8R6 集群运维系列 -- trusted_server
案例说明: 在KingbaseES V8R3及V8R6早期的版本,对于读写分离的集群如果网关地址无法连通,将会导致整个集群关闭,数据库服务无法访问.在后期版本的改进中,降低了对网关的依赖性,当网关地址 ...
- KingbaseES V8R6 索引膨胀
索引膨胀 对于索引,随着业务不断的增删改,会造成膨胀,尤其Btree索引,也会涉及索引分裂.合并等,导致索引访问效率降低.维护成本增加.另外,索引页的复用与HEAP PAGE不一样,因为索引的内容是有 ...
- list集合中的实现类LinkedList
LinkedList: 底层是一个双向链表,方便数据的频繁出入.便于快速插入,删除元素,不太方便进行查询 toArray(): 以正确的顺序(从第一个到最后一个素)返回一个包含此列表中所有元素的数组 ...
- 【WCH以太网接口系列芯片】STM32+CH390+Lwip协议栈简单应用测试
本篇文章基于STM32F103和CH390H芯片进行例程移植及相关注意事项,简单验证TCP\UDP\Ping基础功能. 硬件:STM32F103开发板+沁恒CH390H的评估版图一示,SPI使用接口为 ...
- AVX512加速矩阵乘法
最近打PKU的HPCGAME用的代码,这里只用上了20个zmm寄存器,改变block的大小应该还能优化一下速度. 代码只考虑了方阵,其他非2^n次方阵要自己改代码.具体原理很简单,看看代码就差不多知道 ...
- Docker学习路线1:介绍
Docker是什么? Docker是一个开源平台,通过将应用程序隔离到轻量级.可移植的容器中,自动化应用程序的部署.扩展和管理.容器是独立的可执行单元,封装了运行应用程序所需的所有必要依赖项.库和配置 ...
- ViT:拉开Trasnformer在图像领域正式挑战CNN的序幕 | ICLR 2021
论文直接将纯Trasnformer应用于图像识别,是Trasnformer在图像领域正式挑战CNN的开山之作.这种简单的可扩展结构在与大型数据集的预训练相结合时,效果出奇的好.在许多图像分类数据集上都 ...
- IntelliJ IDEA 配置类注释模板
菜单栏依次点击 File > Settings 在弹出窗口中找到 Editor >File and Code Templates 在右侧中 Files 选项卡中找到 Class. 在右侧输 ...
- CentOS 6.3挂载读写NTFS分区(ntfs-3g) [亲测成功]
CentOS 6.3挂载读写NTFS分区(ntfs-3g) CentOS不像Fedora,默认是没有自动挂载NTFS的,而它可以利用NTFS-3G来实现挂载及读写. NTFS-3G 是一个开源的软件, ...
- mysql 必知必会整理—视图[十二]
前言 简单整理一下视图. 正文 视图: 需要MySQL 5 MySQL 5添加了对视图的支持.因此,本章内容适用于MySQL 5及以后的版本. 视图是虚拟的表.与包含数据的表不一样,视图只包含使用时动 ...