[套装书]分布式中间件技术实战(Java版)+深度学习之PyTorch物体检测实战(2册)

作者
钟林森董洪义
丛书名
出版社
机械工业出版社
ISBN
9781912241048
简要
简介
内容简介书籍计算机书籍 ---------------------------分布式中间件技术实战(Java版)--------------------------- 《分布式中间件技术实战(Java版)》站在初学者的角度,介绍了几款比较流行的分布式中间件,带领读者从零开始一步一个脚印地学习Java企业级应用开发。书中在讲解必要的理论知识和应用场景后都给出了实际项目案例,可以提高读者的开发水平和项目实战能力。 《分布式中间件技术实战(Java版)》共10章,分为3篇。第1篇开发工具准备,介绍了分布式系统架构的相关知识要点,包括其功能、作用及演进历程,并由此引出了分布式中间件的相关介绍。第2篇开发实战,全面介绍了目前在实际开发中应用比较广泛的几款Java中间件,包括缓存中间件Redis、消息中间件RabbitMQ、统一协调管理中间件ZooKeeper和综合中间件Redisson等,重点介绍了这几款中间件的基本概念、典型应用场景及相应的功能组件等。第3篇总结,对相关内容做了重点回顾与总结。值得一提的是,《分布式中间件技术实战(Java版)》在介绍几款中间件的理论知识时,还以Spring Boot微服务框架作为奠基,整合了相关中间件之间的依赖,并结合作者的实际项目经验进行了代码实战。 《分布式中间件技术实战(Java版)》特别适合中间件实践经验为零的开发者阅读;对于有一定Java应用开发经验的工程师而言,通过阅读《分布式中间件技术实战(Java版)》可以了解中间件在构建企业级应用过程中所提供的思路和解决方案;IT培训机构的学员,也可以通过《分布式中间件技术实战(Java版)》系统地学习中间件技术。 ---------------------------深度学习之PyTorch物体检测实战--------------------------- 本书从物体检测的概念、发展、经典实现方法等几个方面系统地介绍了物体检测的相关知识,重点介绍了Faster RCNN、SDD和YOLO这三个经典的检测器,并利用PyTorch框架从代码角度进行了细致讲解。另外,本书进一步介绍了物体检测的轻量化网络、细节处理、难点问题及未来的发展趋势,从实战角度给出了多种优秀的解决方法,便于读者更深入地掌握物体检测技术,从而做到在实际项目中灵活应用。 本书共10章,涵盖的主要内容有物体检测与PyTorch框架基础概念与背景;PyTorch基础知识;基础卷积网络Backbone;两阶经典检测器Faster RCNN;单阶多层检测器SSD;单阶经典检测器YOLO;模型加速之轻量化网络;物体检测细节处理;物体检测难点问题;物体检测的未来发展。本书适合PyTorch框架爱好者和物体检测相关从业人员阅读,也适合深度学习和计算机视觉领域的研究人员阅读。
目录



---------------------------分布式中间件技术实战(Java版)---------------------------


第1篇 开发工具准备
第1章 走进分布式中间件 2
1.1 分布式系统概述 2
1.1.1 白话分布式系统 3
1.1.2 分布式系统发展历程 3
1.1.3 分布式系统特性 6
1.1.4 分布式系统常见问题 7
1.2 分布式中间件概述 7
1.2.1 白话分布式中间件 7
1.2.2 常见中间件介绍 8
1.3 本书核心知识要点 9
1.4 本书实战要求与建议 10
第2章 搭建微服务项目 11
2.1 Spring Boot概述 11
2.1.1 什么是Spring Boot 11
2.1.2 Spring Boot的优势 12
2.1.3 Spring Boot的几大特性 13
2.2 搭建规范与搭建流程 13
2.2.1 Spring Boot项目搭建规范 14
2.2.2 Spring Boot项目搭建流程 14
2.2.3 写个Hello World吧 26
2.3 总结 28
第2篇 开发实战
第3章 缓存中间件Redis 30
3.1 Redis概述与典型应用场景介绍 30
3.2 Redis的使用 32
3.2.1 快速安装Redis 32
3.2.2 在Windows环境下使用Redis 34
3.2.3 Spring Boot项目整合Redis 37
3.2.4 Redis自定义注入Bean组件配置 38
3.2.5 RedisTemplate实战 39
3.2.6 StringRedisTemplate实战 43
3.3 Redis常见数据结构实战 45
3.3.1 字符串 45
3.3.2 列表 47
3.3.3 集合 48
3.3.4 有序集合 50
3.3.5 哈希Hash存储 52
3.3.6 Key失效与判断是否存在 54
3.4 Redis实战场景之缓存穿透 56
3.4.1 什么是缓存穿透 57
3.4.2 缓存穿透的解决方案 58
3.4.3 实战过程 58
3.4.4 其他典型问题介绍 65
3.5 总结 66
第4章 Redis典型应用场景实战之抢红包系统 67
4.1 整体业务流程介绍 67
4.1.1 抢红包系统业务流程 68
4.1.2 业务流程分析 68
4.1.3 业务模块划分 70
4.2 数据库表设计与环境搭建 71
4.2.1 数据库表设计 71
4.2.2 开发环境搭建 73
4.2.3 开发流程介绍 83
4.3 红包金额”随机生成算法实战 85
4.3.1 随机数算法 86
4.3.2 红包随机金额生成算法要求 86
4.3.3 二倍均值法简介 87
4.3.4 红包随机金额生成算法实战 88
4.3.5 红包随机金额生成算法自测 90
4.4 发红包”模块实战 91
4.4.1 业务模块分析 92
4.4.2 整体流程实战 93
4.4.3 业务模块自测 99
4.5 抢红包”模块实战 101
4.5.1 业务模块分析 101
4.5.2 整体流程 102
4.5.3 业务模块自测 105
4.5.4 总结 109
4.6 Jmeter压力测试高并发抢红包 110
4.7 问题分析与优化方案 116
4.7.1 问题分析 117
4.7.2 优化方案介绍 118
4.7.3 优化方案之Redis分布式锁实战 118
4.7.4 不足之处 122
4.8 总结 122
第5章 消息中间件RabbitMQ 124
5.1 RabbitMQ简介 124
5.1.1 认识RabbitMQ 125
5.1.2 典型应用场景介绍 126
5.1.3 RabbitMQ后端控制台介绍 132
5.1.4 基于Spring的事件驱动模型实战 133
5.2 Spring Boot项目整合RabbitMQ 137
5.2.1 RabbitMQ相关词汇介绍 138
5.2.2 Spring Boot项目整合RabbitMQ 139
5.2.3 自定义注入配置Bean相关组件 140
5.2.4 RabbitMQ发送、接收消息实战 142
5.2.5 其他发送接收消息方式实战 147
5.3 RabbitMQ多种消息模型实战 152
5.3.1 基于FanoutExchange的消息模型实战 152
5.3.2 基于DirectExchange的消息模型实战 160
5.3.3 基于TopicExchange的消息模型实战 165
5.4 RabbitMQ确认消费机制 171
5.4.1 消息高可用和确认消费 172
5.4.2 常见的确认消费模式介绍 174
5.4.3 基于自动确认消费模式实战 176
5.4.4 基于手动确认消费模式实战 182
5.5 典型应用场景实战之用户登录成功写日志 188
5.5.1 整体业务流程介绍与分析 188
5.5.2 数据库表设计 189
5.5.3 开发环境搭建 197
5.5.4 基于TopicExchange构建日志消息模型 200
5.5.5 异步发送接收登录日志消息实战 201
5.5.6 整体业务模块自测实战 205
5.6 总结 208
第6章 死信队列/延迟队列实战 209
6.1 死信队列概述 209
6.1.1 死信队列简介与作用 209
6.1.2 典型应用场景介绍 212
6.2 RabbitMQ死信队列实战 213
6.2.1 死信队列专有词汇介绍 214
6.2.2 死信队列消息模型实战 215
6.2.3 死信队列延迟发送消息实战 221
6.3 典型应用场景实战之商城平台订单支付超时 226
6.3.1 整体业务场景介绍 227
6.3.2 整体业务流程分析 228
6.3.3 数据库设计 229
6.3.4 构建RabbitMQ死信队列消息模型 236
6.3.5 Controller层开发用户下单及订单失效功能 240
6.3.6 用户下单支付超时”延迟发送接收实战 246
6.3.7 用户下单支付超时”整体功能自测 250
6.4 总结 254
第7章 分布式锁实战 256
7.1 分布式锁概述 256
7.1.1 锁机制 257
7.1.2 分布式锁登场 263
7.1.3 典型应用场景介绍 265
7.1.4 小结 268
7.2 基于数据库实现分布式锁 268
7.2.1 乐观锁简介 268
7.2.2 乐观锁实战 269
7.2.3 Jmeter高并发测试乐观锁 280
7.2.4 悲观锁简介 286
7.2.5 悲观锁实战 288
7.2.6 Jmeter高并发测试悲观锁 290
7.2.7 小结 291
7.3 基于Redis实现分布式锁 292
7.3.1 Redis温故而知新 292
7.3.2 分布式锁的实现流程与原理分析 294
7.3.3 基于Redis实战实现分布式锁 295
7.3.4 Jmeter高并发测试 303
7.3.5 小结 307
7.4 基于ZooKeeper实现分布式锁 308
7.4.1 ZooKeeper简介与作用 308
7.4.2 分布式锁的实现流程与原理分析 310
7.4.3 Spring Boot整合ZooKeeper 312
7.4.4 基于ZooKeeper实现分布式锁 315
7.4.5 Jmeter高并发测试 317
7.4.6 小结 319
7.5 典型应用场景之书籍抢购模块设计与实战 319
7.5.1 整体业务流程介绍与分析 319
7.5.2 数据库表设计与用例设计 321
7.5.3 书籍抢购核心业务逻辑开发实战 324
7.5.4 Jmeter重现库存超卖”的问题 328
7.5.5 采用分布式锁解决问题 330
7.5.6 小结 334
7.6 总结 334
第8章 综合中间件Redisson 336
8.1 Redisson概述 336
8.1.1 Redisson简介与作用 337
8.1.2 Redisson的功能特性 339
8.1.3 典型应用场景之布隆过滤器与主题 340
8.1.4 典型应用场景之延迟队列与分布式锁 345
8.1.5 Spring Boot整合Redisson 348
8.2 Redisson常见功能组件实战 352
8.2.1 布隆过滤器 352
8.2.2 发布-订阅式主题 355
8.2.3 数据结构之映射Map 361
8.2.4 数据结构之集合Set 366
8.2.5 队列Queue实战 370
8.2.6 延迟队列Delayed Queue实战1 374
8.2.7 延迟队列Delayed Queue实战2 381
8.3 分布式锁实战 385
8.3.1 重温分布式锁 385
8.3.2 分布式锁之一次性锁实战 387
8.3.3 分布式锁之可重入锁实战 392
8.4 总结 398
第9章 Redisson典型应用场景实战之高性能点赞 399
9.1 整体业务流程介绍与分析 399
9.1.1 业务背景介绍 400
9.1.2 业务流程介绍与分析 401
9.1.3 业务模块划分与数据库设计 404
9.2 点赞与取消点赞”操作模块实战 409
9.2.1 点赞与取消点赞”业务流程分析 409
9.2.2 Controller层接收请求信息 412
9.2.3 Service层插入、更新并缓存记录信息 415
9.2.4 业务模块自测 421
9.3 排行榜”业务模块实战 424
9.3.1 排行榜”业务流程分析 425
9.3.2 接收前端请求并触发缓存排行榜 426
9.3.3 业务模块自测 428
9.4 总结 432
第3篇 总结
第10章 总结与回顾 434


---------------------------深度学习之PyTorch物体检测实战---------------------------


前言
第1篇 物体检测基础知识
第1章 浅谈物体检测与PyTorch 2
1.1 深度学习与计算机视觉 2
1.1.1 发展历史 2
1.1.2 计算机视觉 7
1.2 物体检测技术 9
1.2.1 发展历程 10
1.2.2 技术应用领域 11
1.2.3 评价指标 12
1.3 PyTorch简介 17
1.3.1 诞生与特点 17
1.3.2 各大深度学习框架对比 17
1.3.3 为什么选择PyTorch 19
1.3.4 安装方法 20
1.4 基础知识准备 22
1.4.1 Linux基础 22
1.4.2 Python基础 24
1.4.3 高效开发工具 29
1.5 总结 36
第2章 PyTorch基础 37
2.1 基本数据:Tensor 37
2.1.1 Tensor数据类型 37
2.1.2 Tensor的创建与维度查看 39
2.1.3 Tensor的组合与分块 41
2.1.4 Tensor的索引与变形 42
2.1.5 Tensor的排序与取极值 46
2.1.6 Tensor的自动广播机制与向量化 46
2.1.7 Tensor的内存共享 47
2.2 Autograd与计算图 48
2.2.1 Tensor的自动求导:Autograd 49
2.2.2 计算图 50
2.2.3 Autograd注意事项 51
2.3 神经网络工具箱torch.nn 52
2.3.1 nn.Module类 52
2.3.2 损失函数 55
2.3.3 优化器nn.optim 56
2.4 模型处理 59
2.4.1 网络模型库:torchvision.models 59
2.4.2 加载预训练模型 60
2.4.3 模型保存 61
2.5 数据处理 61
2.5.1 主流公开数据集 61
2.5.2 数据加载 63
2.5.3 GPU加速 65
2.5.4 数据可视化 66
2.6 总结 68
第3章 网络骨架:Backbone 69
3.1 神经网络基本组成 69
3.1.1 卷积层 70
3.1.2 激活函数层 72
3.1.3 池化层 75
3.1.4 Dropout层 76
3.1.5 BN层 77
3.1.6 全连接层 79
3.1.7 深入理解感受野 81
3.1.8 详解空洞卷积(Dilated Convolution) 82
3.2 走向深度:VGGNet 83
3.3 纵横交错:Inception 87
3.4 里程碑:ResNet 93
3.5 继往开来:DenseNet 95
3.6 特征金字塔:FPN 99
3.7 为检测而生:DetNet 106
3.8 总结 110
第2篇 物体检测经典框架
第4章 两阶经典检测器:Faster RCNN 112
4.1 RCNN系列发展历程 112
4.1.1 开山之作:RCNN 112
4.1.2 端到端:Fast RCNN 113
4.1.3 走向实时:Faster RCNN 114
4.2 准备工作 114
4.3 Faster RCNN总览 115
4.4 详解RPN 117
4.4.1 理解Anchor 117
4.4.2 RPN的真值与预测量 119
4.4.3 RPN卷积网络 120
4.4.4 RPN真值的求取 122
4.4.5 损失函数设计 124
4.4.6 NMS与生成Proposal 125
4.4.7 筛选Proposal得到RoI 126
4.5 RoI Pooling层 127
4.6 全连接RCNN模块 130
4.6.1 RCNN全连接网络 130
4.6.2 损失函数设计 131
4.7 Faster RCNN的改进算法 131
4.7.1 审视Faster RCNN 132
4.7.2 特征融合:HyperNet 133
4.7.3 实例分割:Mask RCNN 134
4.7.4 全卷积网络:R-FCN 137
4.7.5 级联网络:Cascade RCNN 139
4.8 总结 141
第5章 单阶多层检测器:SSD 142
5.1 SSD总览 142
5.1.1 SSD的算法流程 142
5.1.2 代码准备工作 143
5.2 数据预处理 144
5.2.1 加载PASCAL数据集 144
5.2.2 数据增强 144
5.3 网络架构 148
5.3.1 基础VGG结构 148
5.3.2 深度卷积层 149
5.3.3 PriorBox与边框特征提取网络 150
5.3.4 总体网络计算过程 153
5.4 匹配与损失求解 154
5.4.1 预选框与真实框的匹配 154
5.4.2 定位损失的计算 155
5.4.3 难样本挖掘 156
5.4.4 类别损失计算 156
5.5 SSD的改进算法 157
5.5.1 审视SSD 157
5.5.2 特征融合:DSSD 158
5.5.3 彩虹网络:RSSD 160
5.5.4 基于SSD的两阶:RefineDet 162
5.5.5 多感受野融合:RFBNet 165
5.6 总结 166
第6章 单阶经典检测器:YOLO 167
6.1 无锚框预测:YOLO v1 167
6.1.1 网络结构 167
6.1.2 特征图的意义 168
6.1.3 损失计算 169
6.2 依赖锚框:YOLO v2 171
6.2.1 网络结构的改善 171
6.2.2 先验框的设计 173
6.2.3 正、负样本与损失函数 175
6.2.4 正、负样本选取代码示例 176
6.2.5 工程技巧 179
6.3 多尺度与特征融合:YOLO v3 180
6.3.1 新网络结构DarkNet-53 180
6.3.2 多尺度预测 181
6.3.3 Softmax改为Logistic 182
6.4 总结 183
第3篇 物体检测的难点与发展
第7章 模型加速之轻量化网络 186
7.1 压缩再扩展:SqueezeNet 188
7.1.1 SqueezeNet网络结构 188
7.1.2 SqueezeNet总结 190
7.2 深度可分离:MobileNet 191
7.2.1 标准卷积 191
7.2.2 深度可分离卷积 192
7.2.3 MobileNet v1结构 193
7.2.4 MobileNet v1总结 198
7.2.5 MobileNet v2 198
7.3 通道混洗:ShuffleNet 200
7.3.1 通道混洗 201
7.3.2 网络结构 202
7.3.3 ShuffleNet v2 205
7.4 总结 207
第8章 物体检测细节处理 209
8.1 非极大值抑制:NMS 209
8.1.1 NMS基本过程 210
8.1.2 抑制得分:Soft NMS 212
8.1.3 加权平均:Softer NMS 213
8.1.4 定位置信度:IoU-Net 215
8.2 样本不均衡问题 217
8.2.1 不均衡问题分析 217
8.2.2 在线难样本挖掘:OHEM 219
8.2.3 专注难样本:Focal Loss 221
8.3 模型过拟合 224
8.3.1 数据增强 226
8.3.2 L1与L2正则化 227
8.4 总结 229
第9章 物体检测难点 230
9.1 多尺度检测 230
9.1.1 多尺度问题 230
9.1.2 降低下采样率与空洞卷积 232
9.1.3 Anchor设计 233
9.1.4 多尺度训练 235
9.1.5 特征融合 235
9.1.6 尺度归一化:SNIP 236
9.1.7 三叉戟:TridentNet 238
9.2 拥挤与遮挡 239
9.2.1 遮挡背景 240
9.2.2 排斥损失:Repulsion Loss 242
9.2.3 OR-CNN 244
9.3 总结 247
第10章 物体检测的未来发展 248
10.1 重新思考物体检测 248
10.1.1 精度与速度的权衡 249
10.1.2 卷积网络的可解释性与稳定性 249
10.1.3 训练:微调还是随机初始化 250
10.1.4 考虑物体间关系的检测 251
10.1.5 优化卷积方式 252
10.1.6 神经架构搜索:NAS 253
10.1.7 与产业结合的创新 255
10.2 摆脱锚框:Anchor-Free 257
10.2.1 重新思考Anchor 257
10.2.2 基于角点的检测:CornerNet 258
10.2.3 检测中心点:CenterNet 262
10.2.4 锚框自学习:Guided Anchoring 264
10.3 总结 266



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4