商品详情
书名:PyTorch深度学习实战
定*:119.9
ISBN:9787**5577672
作者:伊莱·史蒂文斯等
版次:第*版
出版时间:2022-02
内容提要:
虽然很多深度学习工具*使用Python,但PyTorch 库是真正具备Python 风格的。对于任何了解NumPy 和scikit-learn 等工具的人来说,上手PyTorch 轻而易举。PyTorch 在*牺牲*级*性的情况下简化了深度学习,它非常适合构建快速模型,并且可以平稳地从个人应用扩展到企业级应用。由于像苹果、Facebook和摩根大通这样的公司*使用PyTorch,所以当你掌握了PyTorth,*会拥有更多的职业选择。 本书是教你使用 PyTorch *建*经网络和深度学习系统的实用指南。它帮助读者快速从零开始构建*个真实示例:肿瘤图像分类器。在此过程中,它涵盖了整个深度学习管道的关键实践,*括 PyTorch张量 API、用 Python 加载数据、监控训练以及将结果进行可视化展示。 本书主要内容: (*)训练深层*经网络; (2)实现模块和损失函数; (3)使用 PyTorch Hub 预先训练的模型; (4)探索在 Jupyter Notebooks 中编写示例代码。 本书适用于对深度学习感兴趣的 Python 程序员。了解深度学习的基础知识对阅读本书有*定的帮助,但读者*须具有使用 PyTorch 或其他深度学习框架的经验。
作者简介:
作者 伊莱·史蒂文斯(Eli Stevens)职业生涯的大*分时间*在美*硅谷的初*公司工作,从软件工程师(网络设备制造业)到*席技术官(开发肿瘤放疗软件)。在本书出版时,他正在汽车自动驾驶行业从事机器学习相关工作。 卢卡·安蒂加(Luca Antiga)于2* 世纪初担任生物医学工程研究员。20*0 年到2020 年间,他是*家人工智能工程公司的联合*始人和*席技术官。他参与了多个开源项目,*括PyTorch 的核心模块。最近,他作为联合*始人*建了*家总*位于美*的初*公司,*注于数据定义软件的基础设施。 托马斯·菲曼(Thomas Viehmann)是*名德*慕尼黑的机器学习和PyTorch 的*业培训师和顾问,也是PyTorch 核心开发人员。拥有数学博士学位的他*畏惧理论,擅长将理论应用于实际的计算挑战。 译者 牟大恩,武汉大学硕士研究生毕业,曾先后在网易杭州研究院、*酷土豆集团、海通证券总 *负责技术研发及系统架构设计工作,目前任职于东方证券资产管理有限公司。他有多年的Java 开发及系统设计经验,*注于互联网金融及大数据应用相关*域,热爱技术,喜欢钻研前沿技术, 是机器学习及深度学习的深度爱好者。近年来著有《Kafka 入门与实践》,译有《Kafka Streams 实战》,已提交技术发明*利申请两项。
目录:
第 **分 PyTorch核心
第 *章 深度学习和PyTorch库简介 3
*.* 深度学习革命 4
*.2 PyTorch深度学习 5
*.3 为什么用PyTorch 6
*.4 PyTorch如何支持深度学习概述 8
*.5 硬件和软件要求 *0
*.6 练习题 *2
*.7 本章小结 *3
第 2章 预训练网络 *4
2.* *个识别图像主体的预训练网络 *5
2.*.* 获取*个预先训练好的网络用于图像识别 *6
2.*.2 AlexNet *7
2.*.3 ResNet *9
2.*.4 准备运行 *9
2.*.5 运行模型 2*
2.2 *个足以以假乱真的预训练模型 23
2.2.* GAN游戏 24
2.2.2 CycleGAN 25
2.2.3 *个把马变成斑马的网络 26
2.3 *个描述场景的预训练网络 29
2.4 Torch Hub 3*
2.5 总结 32
2.6 练习题 32
2.7 本章小结 33
第3章 从张量开始 34
3.* 实际数据转为浮点数 34
3.2 张量:多维数组 36
3.2.* 从Python列表到PyTorch张量 36
3.2.2 构造第 *个张量 37
3.2.3 张量的本质 37
3.3 索引张量 40
3.4 命名张量 40
3.5 张量的元素类型 43
3.5.* 使用dtype*数字类型 43
3.5.2 适合任何场合的dtype 44
3.5.3 管理张量的dtype属性 44
3.6 张量的API 45
3.7 张量的存储视图 46
3.7.* 索引存储区 47
3.7.2 修改存储值:*地操作 48
3.8 张量元数据:大小、偏移量和步长 48
3.8.* 另*个张量的存储视图 49
3.8.2 *复制转置 5*
3.8.3 *维转置 52
3.8.4 连续张量 53
3.9 将张量存储到GPU 55
3.*0 NumPy互操作性 57
3.** 广义张量也是张量 57
3.*2 序列化张量 58
3.*3 总结 60
3.*4 练习题 60
3.*5 本章小结 60
第4章 使用张量表征真实数据 6*
4.* 处理图像 62
4.*.* 添加颜色通道 62
4.*.2 加载图像文件 63
4.*.3 改变布局 63
4.*.4 正规化数据 64
4.2 三维图像:体数据 65
4.3 表示表格数据 66
4.3.* 使用真实的数据集 67
4.3.2 加载葡萄酒数据张量 68
4.3.3 表示分数 70
4.3.4 *热编码 70
4.3.5 何时分类 72
4.3.6 寻找阈值 73
4.4 处理时间序列 75
4.4.* 增加时间维度 76
4.4.2 按时间段调整数据 77
4.4.3 准备训练 79
4.5 表示文本 8*
4.5.* 将文本转化为数字 8*
4.5.2 *热编码字符 82
4.5.3 *热编码整个词 83
4.5.4 文本嵌入 85
4.5.5 作为蓝图的文本嵌入 87
4.6 总结 88
4.7 练习题 88
4.8 本章小结 88
第5章 学习的机制 90
5.* *恒的建模经验 90
5.2 学习*是参数估计 92
5.2.* *个热点问题 93
5.2.2 收集*些数据 93
5.2.3 可视化数据 94
5.2.4 选择线性模型*试 94
5.3 减少损失是我们想要的 95
5.4 沿着梯度下降 98
5.4.* 减小损失 99
5.4.2 进行分析 99
5.4.3 迭代以适应模型 *0*
5.4.4 归*化输入 *04
5.4.5 再次可视化数据 *06
5.5 PyTorch自动求导:反向传播的*切 *07
5.5.* 自动计算梯度 *07
5.5.2 *化器 ***
5.5.3 训练、验证和过拟合 **5
5.5.4 自动求导更新及关闭 *20
5.6 总结 *2*
5.7 练习题 *22
5.8 本章小结 *22
第6章 使用*经网络拟合数据 *23
6.* 人工*经网络 *24
6.*.* 组成*个多层网络 *25
6.*.2 理解误差函数 *25
6.*.3 我们需要的只是激活函数 *26
6.*.4 更多激活函数 *28
6.*.5 选择最佳激活函数 *28
6.*.6 学习对于*经网络意味着什么 *29
6.2 PyTorch nn模块 *3*
6.2.* 使用__call__()而*是forward() *32
6.2.2 回到线性模型 *33
6.3 最*完成*个*经网络 *37
6.3.* 替换线性模型 *37
6.3.2 检查参数 *38
6.3.3 与线性模型对比 *4*
6.4 总结 *42
6.5 练习题 *42
6.6 本章小结 *42
第7章 区分鸟和飞机:从图像学习 *43
7.* 微小图像数据集 *43
7.*.* 下载CIFAR-*0 *44
7.*.2 Dataset类 *45
7.*.3 Dataset变换 *46
7.*.4 数据归*化 *49
7.2 区分鸟和飞机 *50
7.2.* 构建数据集 *5*
7.2.2 *个*连接模型 *52
7.2.3 分类器的输出 *53
7.2.4 用概率表示输出 *54
7.2.5 分类的损失 *57
7.2.6 训练分类器 *59
7.2.7 *连接网络的局限 *65
7.3 总结 *67
7.4 练习题 *67
7.5 本章小结 *68
第8章 使用卷积进行泛化 *69
8.* 卷积介绍 *69
8.2 卷积实战 *72
8.2.* 填充边界 *73
8.2.2 用卷积检测*征 *75
8.2.3 使用深度和池化技术进*步研究 *77
8.2.4 为我们的网络整合*切 *79
8.3 子类化nn.Module *8*
8.3.* 将我们的网络作为*个nn.Module *82
8.3.2 PyTorch如何跟踪参数和子模块 *83
8.3.3 函数式API *84
8.4 训练我们的convnet *85
8.4.* 测量*度 *87
8.4.2 *存并加载我们的模型 *88
8.4.3 在GPU上训练 *88
8.5 模型设计 *90
8.5.* 增加内存容量:宽度 *9*
8.5.2 帮助我们的模型收敛和泛化:正则化 *92
8.5.3 深入学习更复杂的结构:深度 *95
8.5.4 本节设计的比较 200
8.5.5 已经过时了 20*
8.6 总结 20*
8.7 练习题 20*
8.8 本章小结 202
第 2*分 从现实*的图像中学习:肺癌的早期检测
第9章 使用PyTorch来检测癌症 205
9.* 用例简介 205
9.2 为*个大型项目做准备 206
9.3 到底什么是CT扫描 207
9.4 项目:肺癌的端到端检测仪 2*0
9.4.* 为什么我们*把数据扔给*经网络直到它起作用呢 2*3
9.4.2 什么是结节 2*6
9.4.3 我们的数据来源:LUNA大挑战赛 2*7
9.4.4 下载LUNA数据集 2*8
9.5 总结 2*9
9.6 本章小结 2*9
第 *0章 将数据源组合成统*的数据集 220
*0.* 原始CT数据文件 222
*0.2 解析LUNA的标注 数据 222
*0.2.* 训练集和验证集 224
*0.2.2 统*标注和候选 数据 225
*0.3 加载单个CT扫描 227
*0.4 使用病人坐标系定位结节 230
*0.4.* 病人坐标系 230
*0.4.2 CT扫描形状和体素大小 232
*0.4.3 毫米和体素地址之间的转换 233
*0.4.4 从CT扫描中取出*个结节 234
*0.5 *个简单的数据集实现 235
*0.5.* 使用getCtRawCandidate()函数缓存候选数组 238
*0.5.2 在LunaDataset.__init__()中构造我们的数据集 238
*0.5.3 分隔训练集和验证集 239
*0.5.4 呈现数据 240
*0.6 总结 24*
*0.7 练习题 24*
*0.8 本章小结 242
第 **章 训练分类模型以检测可疑肿瘤 243
**.* *个基本的模型和训练循环 243
**.2 应用程序的主入口点 246
**.3 预训练和初始化 247
**.3.* 初始化模型和*化器 247
**.3.2 数据加载器的维护和供给 249
**.4 我们的*次*经网络设计 25*
**.4.* 核心卷积 25*
**.4.2 完整模型 254
**.5 训练和验证模型 257
**.5.* computeBatchLoss()函数 258
**.5.2 类似的验证循环 260
**.6 输出性能指标 26*
**.7 运行训练脚本 265
**.7.* 训练所需的数据 266
**.7.2 插曲:enumerateWithEstimate()函数 266
**.8 评估模型:得到99.7%的正确率是否意味着我们完成了任务 268
**.9 用TensorBoard绘制训练指标 269
**.9.* 运行TensorBoard 269
**.9.2 增加TensorBoard对指标记录函数的支持 272
**.*0 为什么模型*学习检测结节 274
**.** 总结 275
**.*2 练习题 275
**.*3 本章小结 275
第 *2章 通过指标和数据增强来提*训练 277
*2.* *级改进计划 278
*2.2 好狗与坏狗:假阳性与假阴性 279
*2.3 用图表表示阳性与阴性 280
*2.3.* 召回率是Roxie的强项 282
*2.3.2 *度是Preston的强项 283
*2.3.3 在logMetrics()中实现*度和召回率 284
*2.3.4 我们的**性能指标:F*分数 285
*2.3.5 我们的模型在新指标下表现如何 289
*2.4 理想的数据集是什么样的 290
*2.4.* 使数据看起来更理想化 292
*2.4.2 使用平衡的LunaDataset与之前的数据集运行情况对比 296
*2.4.3 认识过拟合 298
*2.5 重新审视过拟合的问题 300
*2.6 通过数据增强*止过拟合 300
*2.6.* 具体的数据增强技术 30*
*2.6.2 看看数据增强带来的改进 306
*2.7 总结 308
*2.8 练习题 308
*2.9 本章小结 309
第 *3章 利用分割法寻找可疑结节 3*0
*3.* 向我们的项目添加第 2个模型 3*0
*3.2 各种类型的分割 3*2
*3.3 语义分割:逐像素分类 3*3
*3.4 更新分割模型 3*7
*3.5 更新数据集以进行分割 3*9
*3.5.* U-Net有非常具体的对输入大小的要求 320
*3.5.2 U-Net对三维和二维数据的权衡 320
*3.5.3 构建真实、有效的数据集 32*
*3.5.4 实现Luna2dSegmentationDataset 327
*3.5.5 构建训练和验证数据 33*
*3.5.6 实现TrainingLuna2dSegmentationDataset 332
*3.5.7 在GPU上增强数据 333
*3.6 更新用于分割的训练脚本 335
*3.6.* 初始化分割和增强模型 336
*3.6.2 使用Adam*化器 336
*3.6.3 骰子损失 337
*3.6.4 将图像导入TensorBoard 340
*3.6.5 更新指标日志 343
*3.6.6 *存模型 344
*3.7 结果 345
*3.8 总结 348
*3.9 练习题 348
*3.*0 本章小结 349
第 *4章 端到端的结节分析及下*步的方向 350
*4.* 接近*点线 350
*4.2 验证集的*立性 352
*4.3 连接CT分割和候选结节分类 353
*4.3.* 分割 354
*4.3.2 将体素分组为候选结节 355
*4.3.3 我们发现结节了吗?分类以减少假阳性 357
*4.4 定量验证 360
*4.5 预测恶性肿瘤 36*
*4.5.* 获取恶性肿瘤信息 36*
*4.5.2 曲线基线下的区域:按直径分类 362
*4.5.3 重用预先存在的权重:微调 365
*4.5.4 TensorBoard中的输出 370
*4.6 在诊断时所见的内容 374
*4.7 接下来呢?其他灵感和数据的来源 376
*4.7.* *止过拟合:更好的正则化 377
*4.7.2 *细化训练数据 379
*4.7.3 竞赛结果及研究论文 380
*4.8 总结 38*
*4.9 练习题 382
*4.*0 本章小结 383
第3*分 *署
第 *5章 *署到生产环境 387
*5.* PyTorch模型的服务 388
*5.*.* 支持Flask服务的模型 388
*5.*.2 我们想从*署中得到的东西 390
*5.*.3 批处理请求 39*
*5.2 导出模型 395
*5.2.* PyTorch与ONNX的互操作性 396
*5.2.2 PyTorch自己的导出:跟踪 397
*5.2.3 具有跟踪模型的服务器 398
*5.3 与PyTorch JIT编译器交互 398
*5.3.* *越*Python/PyTorch的期望是什么 399
*5.3.2 PyTorch作为接口和后端的双重*性 400
*5.3.3 TorchScript 400
*5.3.4 为可追溯的差异编写脚本 404
*5.4 LibTorch:C++中的PyTorch 405
*5.4.* 从C++中运行JITed模型 405
*5.4.2 从C++ API开始 408
*5.5 *署到移动设备 4**
*5.6 新兴技术:PyTorch
模型的企业服务 4*6
*5.7 总结 4*6
*5.8 练习题 4*6
*5.9 本章小结 4*6
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...