《深度学习原理与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对象只是 ...
随机推荐
- Windows上部署spring boot jar项目
1.下载地址:https://github.com/winsw/winsw/releases 下载红色框内三个文件就够了. sample-allOptions.xml 所有配置参考 sample-mi ...
- C# OpenCv Haar、LBP 人脸检测
using OpenCvSharp; namespace OPenCVDemo { class Program { static void Main(string[] args) { // Load ...
- 运行xxl-job,整合xxl-job至jeecg-boot项目
1.前言:xxl-job是一个分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用. 源码仓库地址:https://gitee.co ...
- 《HelloGitHub》第 96 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...
- Echarts入门案例教程
一.定义容器变量并获取页面div元素 1 var chartDom = document.getElementById('chart3'); 二.初始化容器 1 var myChart = echar ...
- DM数据库金融行业案例(水贴一波)
最近没遇到啥有意思的案例,都是些很简单的案例,但是又好久没写过博客了,决定水一波帖子,保持更新. 今天这个是任总老婆小王同学提供的金融SQL案例,难是不难,但是远程的时候网络卡得要命, 心累. 慢 ...
- 05 Ajax请求(扩展,延伸)
05 Ajax请求(扩展,延伸) 首先, 我们用Flask创建一个后台服务器(自己做网站了哈) 目录结构: 服务端: from flask import Flask, render_template, ...
- #单位根反演,二项式定理#LOJ 6485 LJJ 学二项式定理
题目 \[\large\sum_{i=0}^nC(n,i)S^ia_{i\bmod 4} \] \(n\leq 10^{18},S,a\leq 10^8\) 分析 前面这一坨看起来就像是二项式定理,考 ...
- OpenHarmony创新赛|赋能直播第三期
开放原子开源大赛OpenHarmony创新赛赋能直播间持续邀请众多技术专家一起分享应用开发技术知识,本期推出OpenHarmony应用开发之音视频播放器和三方库的使用和方法,助力开发者掌握多媒体应用 ...
- OpenHarmony使用ArkUI Inspector分析布局
本文转载自<#2023 盲盒+码 # OpenHarmony使用ArkUI Inspector分析布局>,作者:zhushangyuan_ OpenHarmony使用ArkUI Ins ...