深度学习-从零基础快速入门到项目实践,这本书上市了!!!

news2024/9/21 11:02:45

此书地址:

《【2024新书】深度学习 从零基础快速入门到项目实践 文青山 跟我一起学人工智能 机器学习算法原理代码实现教程 深度学习项目分析 深度学习 从零基础快速入门到项目实践》【摘要 书评 试读】- 京东图书
除深度学习外我还写了一本软件测试书。我大概是国内第1个,跨2个领域书籍的作者吧!

《Python软件测试实战宝典 系统覆盖5大软件测试技术主题,深解析软件测试的理论、方法、工具及管理方法,精准定位软件测试痛点》(智谷一川)【摘要 书评 试读】- 京东图书 (jd.com)

如何学习深度学习呢?

       针对这个问题也许每个人都有不同的观点,本书的编排目录也就是我的学习过程。

        大概是在2022年的时候,很偶然接触到这个领域,刚开始是没有什么信心觉得自己能够入门,因为这个领域十分的陌生,听起来也非常的高端,随便翻翻书,密密麻麻的数学公式真的看得头晕眼花。本着复杂的东西工作需要一定要搞懂的心态,然后立志坚定地开始了密集的学习,学习的过程是有点忙碌的,每天大概研究原理和看代码到23:00,周末也没有休息。

        好在经过1个多月的样子,原来复杂的原理似乎懂了一些,根据原理看开源的代码也没有那么痛苦,也可以根据工作需要修改开源的代码实现某些功能,七七八八能够用了,但是自己觉得有点云里雾里的。赶巧在2022年底作为“新冠”最后阶段的密接人员在家闭关半个月,闲着无聊突发其想打算重写一些经典模型的代码,加强加深对于经典算法的理解。于是出于打发时光的目的,虽然代码写得很丑、可能还有较多错误之处,但好歹完成了本书大部分代码的主体。

        然后又在机缘巧合之下跟出版社这边加上了好友,聊着、聊着就讨论到了如何学习深度学习,如何用最短的时间入门深度学习,也就有了此书的初衷。

        因为定位0基础,所以准备了较多基础知识,本着更好的理解并在学习过程中逐步提高代码能力,也没有调用一些知名第3方集成库、或者直接解析开源代码,每个例子的每行代码都是经过自己理解(水平有限,可能有误)手敲过的,代码虽臭、但都有参考意义。

        另外,阅读此书需要很强的数学吗?个人感觉读者只要会求导就行。本书涉及到的数学知识不够严谨。因为基本上对复杂的数学公式通过数值代入进行了“破坏性”计算,有着很详细的步骤(数学好的略过),这样做的目的是为了更好的理解。在编程的世界里,复杂的数学公式很多时候就是一个Python函数,作为应用层,个人觉得怎么算、严不严谨,不是极度重要的,理解它背后做了什么事、意义是什么,够用就行。

        以上只是个人观点,如有不妥之处,都是我的理解有误,还请指正。最后,本人水平有限和时间有限,书中难免有不妥之处,恳请广大读者批评指正。

本书内容简介:

        本书从Python基础入手,循序渐进地讲到机器学习、深度学习等领域的算法原理和代码实现,在学习算法理论的同时也强调了代码工程能力的逐步提高

本书共分为6个章节

        第1章从零基础介绍Python基础语法、Python数据处理库NumPy、Pandas、Matplotlib、OpenCV的使用;

        第2章,主要介绍了机器学习算法的原理并配有代码实例,方便在理解原理的同时也能写出代码;

        第3章,主要介绍深度学习框架TensorFlow、Keras、PyTorch的API和网络模型的搭建方法,力保读者能够掌握主流深度学习框架的使用;

        第4章,主要介绍了CNN卷积神经网络各种卷积的特性,并同时代码实战了多个经典分类网络;

        第5章,主要介绍了目标检测领域中多个经典算法的原理,并配套展现了代码调试的过程,将算法原理与代码进行了结合,方便更深入的理解算法原理;

        第6章,主要分享了深度学习项目的分析和实现过程。

本书目录:

自序... 1

内容简介... 2

第1章 Python编程基础... 2

1.1     环境搭建... 2

总结... 10

练习... 10

1.2     基础数据类型... 10

1.2.1数值型... 10

1.2.2字符串... 12

1.2.3元组... 14

1.2.4列表... 15

1.2.5字典... 17

1.2.6集合... 19

1.2.7数据类型的转换... 20

总结... 21

练习... 21

1.3     条件语句... 22

总结... 26

练习... 26

1.4     循环语句... 26

总结... 29

练习... 29

1.5     函数... 29

总结... 33

练习... 33

1.6     类... 33

总结... 38

练习... 38

1.7     文件处理... 38

总结... 38

练习... 38

1.8     异常处理... 38

总结... 39

练习... 39

1.9     模块与包... 39

总结... 41

练习... 41

1.10       包的管理... 41

总结... 46

练习... 46

1.11       NumPy简介... 46

1.11.1 NDArray的创建... 46

1.11.2 NDArray索引与切片... 47

1.11.3 NDArray常用运算函数... 51

1.11.4 NDArray广播机制... 53

总结... 54

练习... 54

1.12       Pandas简介... 54

1.12.1 Pandas对象的创建... 54

1.12.2 Pandas的索引与切片... 55

1.12.3 Pandas常用统计函数... 57

1.12.4 Pandas文件操作... 58

总结... 59

练习... 59

1.13       Matplotlib简介... 59

1.13.1 Matplotlib基本使用流程... 59

1.13.2 Matplotlib绘直方图、饼图等... 61

1.13.3 Matplotlib绘3D图像... 63

总结... 64

练习... 64

1.14       OpenCV简介... 65

1.14.1图片的读取和存储... 65

1.14.2画矩形、圆形等... 66

1.14.2在图中增加文字... 67

1.14.2读取视频或摄像头... 68

总结... 69

练习... 69

第2章 机器学习基础... 69

2.1HelloWorld之KNN算法... 69

2.1.1KNN算法原理... 69

2.1.2KNN算法代码实现... 71

总结... 73

练习... 73

2.2梯度下降... 74

2.2.1什么是梯度下降... 74

2.2.2梯度下降的代码实现... 76

2.2.3SGD、BGD和MBGD. 77

2.2.4Momentum优化算法... 83

2.2.5NAG优化算法... 86

2.2.6AdaGrad优化算法... 89

2.2.7RMSprop优化算法... 92

2.2.8AdaDelta优化算法... 95

2.2.9Adam优化算法... 98

2.2.10学习率的衰减... 101

总结... 106

练习... 106

2.3线性回归... 107

2.3.1梯度下降求解线性回归... 107

2.3.2梯度下降求解多元线性回归... 113

总结... 117

练习... 117

2.4逻辑回归... 117

2.4.1最大似然估计... 117

2.4.2梯度下降求解逻辑回归... 118

总结... 126

练习... 126

2.5聚类算法... 126

总结... 133

练习... 133

2.6神经网络... 133

2.6.1什么是神经网络... 133

2.6.2反向传播算法... 139

2.6.3SoftMax反向传播... 145

总结... 149

练习... 149

2.7欠拟合与过拟合... 149

总结... 153

练习... 153

2.8正则化... 153

总结... 161

练习... 161

2.9梯度消失与梯度爆炸... 161

总结... 170

练习... 170

第3章 深度学习框架... 171

3.1基本概念... 171

总结... 172

练习... 172

3.2环境搭建... 172

总结... 179

练习... 179

3.3TensorFlow基础函数... 179

3.3.1TensorFlow初始类型... 179

3.3.2TensorFlow指定设备... 180

3.3.3TensorFlow数学运算... 181

3.3.4TensorFlow维度变化... 184

3.3.5TensorFlow切片取值... 185

3.3.6TensorFlow中gather取值... 186

3.3.7TensorFlow中布尔取值... 189

3.3.8TensorFlow张量合并... 190

3.3.9TensorFlow网格坐标... 191

3.3.10TensorFlow自动求梯度... 192

总结... 193

练习... 193

3.4TensorFlow中的Keras模型搭建... 193

3.4.1tf.keras简介... 193

3.4.2基于tf.keras.Sequential模型搭建... 194

3.4.3继承tf.keras.Model类模型搭建... 196

3.4.4函数式模型搭建... 196

总结... 197

练习... 197

3.5TensorFlow中模型的训练方法... 197

3.5.1使用model.fit训练模型... 197

3.5.2使用model.train_on_batch训练模型... 201

3.5.3 自定义模型训练... 202

总结... 204

练习... 204

3.6TensorFlow中Metrics评价指标... 205

3.6.1准确率... 205

3.6.2精确率... 206

3.6.3召回率... 207

3.6.4P-R曲线... 208

3.6.6ROC曲线... 211

3.6.7AUC曲线... 213

3.6.8混淆矩阵... 214

总结... 216

练习... 216

3.7TensorFlow中推理预测... 216

总结... 217

练习... 217

3.8PyTorch搭建神经⽹络... 217

3.8.1PyTorch转换为张量... 217

3.8.2PyTorch指定设备... 218

3.8.3PyTorch数学运算... 219

3.8.4PyTorch维度变化... 219

3.8.5PyTorch切片取值... 220

3.8.6PyTorch中gather取值... 220

3.8.7PyTorch中布尔取值... 220

3.8.8PyTorch张量合并... 221

3.8.9PyTorch模型搭建... 221

3.8.10PyTorch模型自定义训练... 223

3.8.11PyTorch调用Keras训练... 225

3.8.12PyTorch调用TorchMetrics评价指标... 227

3.8.13PyTorch中推理预测... 230

总结... 231

练习... 231

第4章 卷积神经网络... 231

4.1卷积... 232

4.1.1为什么用卷积... 232

4.1.2单通道卷积计算... 232

4.1.3多通道卷积计算... 236

4.1.4卷积padding和valid. 239

4.1.5感受野... 242

4.1.6卷积程序计算过程... 243

总结... 246

练习... 246

4.2池化... 246

总结... 250

练习... 250

4.3卷积神经网络的组成要素... 250

总结... 251

练习... 251

4.4常见卷积分类... 251

4.4.1分组卷积... 251

4.4.2逐点卷积... 252

4.4.3深度可分离卷积... 253

4.4.4空间可分离卷积... 255

4.4.5空洞卷积... 255

4.4.6转置卷积... 257

4.4.7可变形卷积... 258

总结... 260

练习... 260

4.5卷积神经网络LeNet5. 260

4.5.1模型介绍... 260

4.5.2代码实战... 261

总结... 264

练习... 264

4.6深度卷积神经网络AlexNet. 265

4.6.1模型介绍... 265

4.6.2代码实战... 265

总结... 269

练习... 269

4.7使用重复元素的网络VGG. 270

4.7.1模型介绍... 270

4.7.2代码实战... 271

总结... 272

练习... 272

4.8合并连接网络GoogleNet. 273

4.8.1模型介绍... 273

4.8.2代码实战... 278

总结... 282

练习... 282

4.9残差网络ResNet. 282

4.9.1残差块... 282

4.9.2归一化... 285

4.9.3模型介绍... 292

4.9.4代码实战... 293

总结... 295

练习... 295

4.10轻量级网络MobileNet. 295

4.10.1模型介绍... 295

4.10.2注意力机制... 300

4.10.3代码实战... 310

总结... 314

练习... 314

4.11轻量级网络ShuffleNet. 314

4.11.1模型介绍... 314

4.11.2代码实战... 320

总结... 323

练习... 323

4.12重参数网络RepVGGNet. 323

4.12.1模型介绍... 323

4.12.2代码实战... 328

总结... 332

练习... 332

第5章 目标检测... 332

5.1标签处理及代码... 333

总结... 338

练习... 338

5.2开山之作R-CNN. 338

5.2.1模型介绍... 338

5.2.2 代码实战选择区域搜索... 339

5.2.3 代码实战正负样本选择... 339

5.2.4 代码实战特征提取... 344

5.2.6 代码实战SVM分类训练... 345

5.2.7 代码实战边界框回归训练... 346

5.2.8 代码实战预测推理... 348

总结... 352

练习... 352

5.3 两阶段网络Faster R-CNN. 352

5.3.1模型介绍... 352

5.3.2 代码实战RPN、ROI模型搭建... 357

5.3.3 代码实战RPN损失函数及训练... 360

5.3.4 代码实战ROI损失函数及训练... 365

5.3.5 代码实战预测推理... 369

总结... 371

练习... 371

5.4 单阶段多尺度检测网络SSD. 371

5.4.1模型介绍... 371

5.4.2 代码实战模型搭建... 375

5.4.3 代码实战建议框的生成... 380

5.4.4 代码实战损失函数的构建及训练... 386

5.4.5 代码实战预测推理... 389

总结... 390

练习... 390

5.5 单阶段速度快的检测网络Yolo1. 390

5.5.1模型介绍... 390

5.5.2代码实战模型搭建... 393

5.5.3无建议框时标注框编码... 394

5.5.4代码实现损失函数的构建及训练... 396

5.4.5 代码实战预测推理... 401

总结... 404

练习... 405

5.6 单阶段速度快的检测网络Yolo2. 405

5.6.1模型介绍... 405

5.6.2代码实战模型搭建... 407

5.6.3代码实战聚类得到建议框宽高... 409

5.6.4代码实战建议框的生成... 410

5.6.5代码实现损失函数的构建及训练... 413

5.6.5 代码实战预测推理... 419

总结... 424

练习... 424

5.7 单阶段速度快多检测头网络Yolo3. 424

5.7.1模型介绍... 424

5.7.2代码实战模型搭建... 431

5.7.3代码实战建议框的生成... 433

5.7.4代码实现损失函数的构建及训练... 437

5.7.5 代码实战预测推理... 439

总结... 443

练习... 443

5.8 单阶段速度快多检测头网络Yolo4. 443

5.8.1模型介绍... 443

5.8.2代码实战模型搭建... 448

5.8.3代码实战建议框的生成... 452

5.8.4代码实现损失函数的构建及训练... 454

5.8.5 代码实战预测推理... 457

总结... 457

练习... 457

5.9 单阶段速度快多检测头网络Yolo5. 457

5.9.1模型介绍... 457

5.9.2代码实战模型搭建... 461

5.9.3代码实战建议框的生成... 465

5.9.4代码实现损失函数的构建及训练... 469

5.9.5 代码实战预测推理... 471

总结... 471

练习... 472

5.10 单阶段速度快多检测头网络Yolo7. 472

5.10.1模型介绍... 472

5.10.2代码实战模型搭建... 474

5.10.3代码实战建议框的生成... 479

5.10.5代码实现损失函数的构建及训练... 494

5.10.6 代码实战预测推理... 496

总结... 496

练习... 497

5.11 数据增强... 497

5.11.1 数据增强的作用... 497

5.11.3代码实现MixUp数据增强... 499

5.11.4代码实现随机复制Label数据增强... 500

5.11.5代码实现Mosic数据增强... 501

总结... 504

练习... 504

第6章 项目实战... 504

6.1 计算机视觉项目的工作流程... 504

总结... 505

练习... 506

6.2 条形码项目实战... 506

6.2.1 项目背景分析... 506

6.2.2 整体技术方案... 506

6.2.3 数据分布分析... 508

6.2.4 参数设置... 520

6.2.5 训练结果分析... 521

6.2.6 OpenCV DNN实现推理... 523

总结... 527

练习... 527

致谢... 527

参考文献... 527

重点内容图形介绍:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2152147.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Godot游戏如何提升触感体验

在游戏世界中,触感体验至关重要,既能极大提升玩家沉浸感,让其深度融入游戏,在操作角色或与环境互动时,通过触感反馈获得身临其境的真实感(比如动作游戏中角色攻击或受击时的振动反馈,能使玩家更…

【OSS安全最佳实践】降低因账号密码泄露带来的未授权访问风险

如果因个人或者企业账号密码泄露引发了未经授权的访问,可能会出现非法用户对OSS资源进行违法操作,或者合法用户以未授权的方式对OSS资源进行各类操作,这将给数据安全带来极大的威胁。为此,OSS提供了在实施数据安全保护时需要考虑的…

6. Python 输出长方形,直角三角形,等腰三角形

使用Python输出长方形,直角三角形,等腰三角形 这里主要使用python语言里的循环知识,具体说是Python语言里的循环嵌套, 注意,在实际使用中,循环嵌套一般最多到达3层,嵌套太多会影响到程序执行。…

JavaWeb - 5 - 前端工程化

一.前后端分离开发 前后端混合开发 缺点:沟通成本高,分工不明确,不便管理,不便维护拓展 前后端分离开发 当前最为主流的开发模式:前后端分离 前后端分离开发中很重要的是API接口文档(如:YApi&…

蓝队技能-应急响应篇Web内存马查杀JVM分析Class提取诊断反编译日志定性

知识点: 1、应急响应-Web内存马-定性&排查 2、应急响应-Web内存马-分析&日志 注:传统WEB类型的内存马只要网站重启后就清除了。 演示案例-蓝队技能-JAVA Web内存马-JVM分析&日志URL&内存查杀 0、环境搭建 参考地址:http…

C++函数重载完成日期类相关计算

本文内容如下: 1.创建类以及函数的声明2.日期加减天数1.月份天数2.函数实现 3.日期比较大小4.日期减日期1.日期的前置和后置加加2.日期减日期的实现 5.内置类型的cout和cin本文代码如下: 要完成日期类的相关计算要创建自定义的类型,然后用函数…

Java制作拼图小游戏——基础编程实战(详细代码注释与流程讲解)

目录 前言 涉及知识点 准备工具 Java开发环境 图片资源 最终效果 ——需求分析 登录界面 功能描述 需求分析 功能需求 游戏主界面 功能描述 需求分析 功能需求 游戏菜单 游戏胜利界面 框架搭建 总结 编码 编码顺序 搭建App实现程序的入口 完成User用户类和…

计算总体方差statistics.pvariance()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 计算总体方差 statistics.pvariance() [太阳]选择题 根据给定的Python代码,运行结果为? import statistics data [1, 2, 3, 4, 5] print(f"【显示】data{…

【C++掌中宝】深入解析C++命名空间:有效管理代码的利器

文章目录 前言1. namespace 的价值2. namespace 的定义3. 命名空间的本质4. 嵌套的命名空间5. 命名空间的使用6. using 指令7. 补充结语 前言 假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外&am…

2.Seata 1.5.2 集成Springcloud-alibaba

一.Seata-server搭建已完成前提下 详见 Seata-server搭建 二.Springcloud 项目集成Seata 项目整体测试业务逻辑是创建订单后(为了演示分布式事务,不做前置库存校验),再去扣减库存。库存不够的时候,创建的订单信息数…

攻防世界Web新手练习区题目(view_source到simple_php)WP

目录 view_source​ robots​ Training-WWW-Robots PHP2​ get_post​ backup​ cookie​ disabled_button​ simple_js​ xff_referer​ weak_auth​ command_execution​ simple_php​ view_source 获取在线场景后访问题目场景 在右键不管用的情况下&#xff0…

尚品汇-秒杀成功下单接口、秒杀结束定时任务-清空缓存数据(五十四)

目录: (1)下单页面 (2)service-activity-client添加接口 (3)web-all 编写去下单控制器 (4)service-order模块提供秒杀下单接口 (5)service-or…

1份可以派上用场丢失数据恢复的应用程序列表

无论如何,丢失您的宝贵数据是可怕的。您的 Android 或 iOS 设备可能由于事故、硬件损坏、存储卡问题等而丢失了数据。这就是为什么我们编制了一份可以派上用场以恢复丢失数据的应用程序列表。 如果您四处走动,您大多会随身携带手机或其他移动设备。这些…

豆包Python SDK接入流程

模型与价格 豆包的模型介绍可以看豆包大模型介绍,模型价格可以看豆包定价文档里的“模型推理” - “大语言模型” - “字节跳动”部分。 推荐使用以下模型: Doubao-lite-32k:每百万 token 的输入价格为 0.3 元,输出价格为 0.6 元…

vue组件($refs对象,动态组件,插槽,自定义指令)

一、ref 1.ref引用 每个vue组件实例上&#xff0c;都包含一个$refs对象&#xff0c;里面存储着对应dom元素或组件的引用。默认情况下&#xff0c;组件的$refs指向一个空对象。 2.使用ref获取dom元素的引用 <template><h3 ref"myh3">ref组件</h3&g…

手机切换IP简单方法:掌握技巧,轻松实现IP变换‌

在当今的数字化时代&#xff0c;IP地址作为网络身份的重要标识&#xff0c;对于网络访问、数据传输等方面都起着至关重要的作用。然而&#xff0c;在某些特定场景下&#xff0c;我们可能需要切换手机的IP地址&#xff0c;以满足不同的网络需求。本文将为大家介绍几种手机切换IP…

Linux —— 多线程

一、本篇重点 1.了解线程概念&#xff0c;理解线程与进程区别与联系 2.理解和学会线程控制相关的接口和操作 3.了解线程分离与线程安全的概念 4.学会线程同步。 5.学会互斥量&#xff0c;条件变量&#xff0c;posix信号量&#xff0c;以及读写锁 6.理解基于读写锁的读者写…

Kafka 3.0.0集群部署教程

1、集群规划 主机名 ip地址 node.id process.roles kafka1 192.168.0.29 1 broker,controller Kafka2 192.168.0.30 2 broker,controller Kafka3 192.168.0.31 3 broker,controller 将kafka包上传以上节点/app目录下 mkdir /app 解压kafka包 tar -zxvf kafka_…

BLE 协议之链路层

目录 一、前言二、状态和角色三、Air Interface Packets1、Preamble 字段2、Access Address 字段2.1 静态地址2.2 私有地址 3、PDU 字段3.1 Advertising Channel PDU3.1.1 Header 字段3.1.2 Payload 字段 3.2 Data Channel PDU3.2.1 Header 字段3.2.2 Payload 字段 4、CRC 字段…

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第一篇-原理】

如果想直接制作&#xff0c;请看【第二篇】内容 这次做一个这样的东西&#xff0c;通过在2DRT上实时绘制&#xff0c;生成动态的体积纹理&#xff0c;也就是可以runtime的VDB 设想的文章流程: 对原理进行学习制作体积渲染制作实时绘制 第一篇&#xff08;本篇&#xff09;是对“…