《深度学习原理与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对象只是 ...
随机推荐
- java DES 加密和解密
代码如下 import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESK ...
- Chrome浏览器:The request client is not a secure context and the resource is in more-private address ...
1.概述 新版的chrome浏览器会校验发起端的域名和访问资源的域名直接的关系,如果客户端发起域名比访问资源所在的域名更public(开放),会导致The request client is not ...
- 感悟:FPGA的串行及并行设计思路
前言 FPGA设计过程中, 会遇到大量的串行转并行或者并行转串行的问题; 这些问题主要体现在FPGA对于速度和面积的均衡上; 一般而言, FPGA使用并行的设计可以提高处理的速度, 消耗更多的资源; ...
- sql分页遍历出现重复数据原因与解决方案
1. 问题描述 有同时反馈,直接通过如下的sql进行分页查询,分页会出现重复数据,于是乎我专门查了相关了资料,整理了一下. -- 根据sort字段对dbname进行排序,每五百条数据一页 SELECT ...
- 线段树(SegmentTree)
对于数组应用于区间染色实现为On,而线段树是O(logn) 什么是线段树:对于一个二叉树,每一个节点存储的是一个线段或是一个区间相应的信息. 查询 更新 #pragma once #include & ...
- Pandas高级教程之:Dataframe的重排和旋转
目录 简介 使用Pivot 使用Stack 使用melt 使用Pivot tables 使用crosstab get_dummies 简介 使用Pandas的pivot方法可以将DF进行旋转变换,本文 ...
- C# 面向对象编程解析:优势、类和对象、类成员详解
C# - 什么是面向对象编程? OOP代表面向对象编程. 过程式编程涉及编写执行数据操作的过程或方法,而面向对象编程涉及创建包含数据和方法的对象. 面向对象编程相对于过程式编程具有几个优势: OOP执 ...
- SAST-数据流分析方法-理论
引言 众所周知,数据流分析是实现污点分析的一种常用技术 数据流分析分为过程内的数据流分析与过程间的数据流分析.前者是对一个方法体内的数据流分析,主要是基于CFG分析,不涉及方法调用:后者是基于不同方法 ...
- org.xml.sax.SAXParseException; lineNumber: 11;
org.xml.sax.SAXParseException; lineNumber: 11; 点击clean 然后再启动
- HarmonyOS—使用Web组件加载页面
页面加载是Web组件的基本功能.根据页面加载数据来源可以分为三种常用场景,包括加载网络页面.加载本地页面.加载HTML格式的富文本数据. 页面加载过程中,若涉及网络资源获取,需要配置ohos.pe ...