万本电子书0元读

万本电子书0元读

顶部广告

PyTorch深度学习实战电子书

1.PyTorch核心发者教你使用 PyTorch 创建神经网络和深度学习系统的实用指南。 2.详细讲解整个深度学习管道的关键实践,包括 PyTorch张量API、用 Python 加载数据、监控训练以及对结果行可视化。 3. PyTorch核心知识 真实、完整的案例项目,快速提升读者动手能力: a.全面掌握PyTorch 相关的API 的使用方法以及系统掌握深度学习的理论和方法; b.快速从零始构建一个真实示例:肿瘤图像分类器;

售       价:¥

纸质售价:¥110.30购买纸书

188人正在读 | 0人评论 6.8

作       者:[美]伊莱·史蒂文斯(Eli Stevens),[意]卢卡·安蒂加(Luca Antiga),[德]托马斯·菲曼(Thomas Viehmann) 著

出  版  社:人民邮电出版社有限公司

出版时间:2022-02-01

字       数:39.6万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
虽然很多深度学习工具都使用Python,但PyTorch 库是真正具备Python 风格的。对于任何了解NumPy 和scikit-learn 等工具的人来说,上手PyTorch 轻而易举。PyTorch 在不牺牲高级特性的情况下简化了深度学习,它非常适合构建快速模型,并且可以平稳地从个人应用扩展到企业级应用。由于像苹果、Facebook和摩根大通这样的公司都使用PyTorch,所以当你掌握了PyTorth,就会拥有更多的职业选择。 本书是教你使用 PyTorch 创建神经网络和深度学习系统的实用指南。它帮助读者快速从零始构建一个真实示例:肿瘤图像分类器。在此过程中,它涵盖了整个深度学习管道的关键实践,包括 PyTorch张量 API、用 Python 加载数据、监控训练以及将结果行可视化展示。 本书主要内容: (1)训练深层神经网络; (2)实现模块和损失函数; (3)使用 PyTorch Hub 预先训练的模型; (4)探索在 Jupyter Notebooks 中编写示例代码。 本书适用于对深度学习感兴趣的 Python 程序员。了解深度学习的基础知识对阅读本书有一定的帮助,但读者无须具有使用 PyTorch 或其他深度学习框架的经验。<br/>【推荐语】<br/>1.PyTorch核心发者教你使用 PyTorch 创建神经网络和深度学习系统的实用指南。 2.详细讲解整个深度学习管道的关键实践,包括 PyTorch张量API、用 Python 加载数据、监控训练以及对结果行可视化。 3. PyTorch核心知识 真实、完整的案例项目,快速提升读者动手能力: a.全面掌握PyTorch 相关的API 的使用方法以及系统掌握深度学习的理论和方法; b.快速从零始构建一个真实示例:肿瘤图像分类器; c.轻松学会使用PyTorch 实现各种神经网络模型来解决具体的深度学习问题; d.章尾附有“练习题”,巩固提升所学知识;更有配套的代码文件可下载并动手实现。 4. PyTorch 联合创作者Soumith Chintala作序推荐! 5. 书中所有代码都是基于Python 3.6及以上的版本编写的,提供源代码下载。<br/>【作者】<br/>作者 伊莱·史蒂文斯(Eli Stevens)职业生涯的大部分时间都在美国硅谷的初创公司工作,从软件工程师(网络设备制造业)到首席技术官(发肿瘤放疗软件)。在本书出版时,他正在汽车自动驾驶行业从事机器学习相关工作。 卢卡·安蒂加(Luca Antiga)于21 世纪初担任生物医学工程研究员。2010 年到2020 年间,他是一家人工智能工程公司的联合创始人和首席技术官。他参与了多个源项目,包括PyTorch 的核心模块。近,他作为联合创始人创建了一家总部位于美国的初创公司,专注于数据定义软件的基础设施。 托马斯·菲曼(Thomas Viehmann)是一名德国慕尼黑的机器学习和PyTorch 的专业培训师和顾问,也是PyTorch 核心发人员。拥有数学博士学位的他不畏惧理论,擅长将理论应用于实际的计算挑战。 译者 牟大恩,武汉大学硕士研究生毕业,曾先后在网易杭州研究院、优酷土豆集团、海通证券总 部负责技术研发及系统架构设计工作,目前任职于东方证券资产管理有限公司。他有多年的Java 发及系统设计经验,专注于互联网金融及大数据应用相关领域,热爱技术,喜欢钻研前沿技术, 是机器学习及深度学习的深度爱好者。近年来著有《Kafka 门与实践》,译有《Kafka Streams 实战》,已提交技术发明专利申请两项。<br/>
目录展开

版 权

版权声明

内容提要

关于作者与译者

关于封面插图

译者序

前 言

致 谢

关于本书

资源与支持

第1部分 PyTorch核心

第1章 深度学习和PyTorch库简介

1.1 深度学习革命

1.2 PyTorch深度学习

1.3 为什么用PyTorch

深度学习竞争格局

1.4 PyTorch如何支持深度学习概述

1.5 硬件和软件要求

使用Jupyter Notebook

1.6 练习题

1.7 本章小结

第2章 预训练网络

2.1 一个识别图像主体的预训练网络

2.1.1 获取一个预先训练好的网络用于图像识别

2.1.2 AlexNet

2.1.3 ResNet

2.1.4 准备运行

2.1.5 运行模型

2.2 一个足以以假乱真的预训练模型

2.2.1 GAN游戏

2.2.2 CycleGAN

2.2.3 一个把马变成斑马的网络

2.3 一个描述场景的预训练网络

NeuralTalk2

2.4 Torch Hub

2.5 总结

2.6 练习题

2.7 本章小结

第3章 从张量开始

3.1 实际数据转为浮点数

3.2 张量:多维数组

3.2.1 从Python列表到PyTorch张量

3.2.2 构造第1个张量

3.2.3 张量的本质

3.3 索引张量

3.4 命名张量

3.5 张量的元素类型

3.5.1 使用dtype指定数字类型

3.5.2 适合任何场合的dtype

3.5.3 管理张量的dtype属性

3.6 张量的API

3.7 张量的存储视图

3.7.1 索引存储区

3.7.2 修改存储值:就地操作

3.8 张量元数据:大小、偏移量和步长

3.8.1 另一个张量的存储视图

3.8.2 无复制转置

3.8.3 高维转置

3.8.4 连续张量

3.9 将张量存储到GPU

管理张量的设备属性

3.10 NumPy互操作性

3.11 广义张量也是张量

3.12 序列化张量

用h5py序列化到HDF5

3.13 总结

3.14 练习题

3.15 本章小结

第4章 使用张量表征真实数据

4.1 处理图像

4.1.1 添加颜色通道

4.1.2 加载图像文件

4.1.3 改变布局

4.1.4 正规化数据

4.2 三维图像:体数据

加载特定格式

4.3 表示表格数据

4.3.1 使用真实的数据集

4.3.2 加载葡萄酒数据张量

4.3.3 表示分数

4.3.4 独热编码

4.3.5 何时分类

4.3.6 寻找阈值

4.4 处理时间序列

4.4.1 增加时间维度

4.4.2 按时间段调整数据

4.4.3 准备训练

4.5 表示文本

4.5.1 将文本转化为数字

4.5.2 独热编码字符

4.5.3 独热编码整个词

4.5.4 文本嵌入

4.5.5 作为蓝图的文本嵌入

4.6 总结

4.7 练习题

4.8 本章小结

第5章 学习的机制

5.1 永恒的建模经验

5.2 学习就是参数估计

5.2.1 一个热点问题

5.2.2 收集一些数据

5.2.3 可视化数据

5.2.4 选择线性模型首试

5.3 减少损失是我们想要的

从问题回到PyTorch

5.4 沿着梯度下降

5.4.1 减小损失

5.4.2 进行分析

5.4.3 迭代以适应模型

5.4.4 归一化输入

5.4.5 再次可视化数据

5.5 PyTorch自动求导:反向传播的一切

5.5.1 自动计算梯度

5.5.2 优化器

5.5.3 训练、验证和过拟合

5.5.4 自动求导更新及关闭

5.6 总结

5.7 练习题

5.8 本章小结

第6章 使用神经网络拟合数据

6.1 人工神经网络

6.1.1 组成一个多层网络

6.1.2 理解误差函数

6.1.3 我们需要的只是激活函数

6.1.4 更多激活函数

6.1.5 选择最佳激活函数

6.1.6 学习对于神经网络意味着什么

6.2 PyTorch nn模块

6.2.1 使用__call__()而不是forward()

6.2.2 回到线性模型

6.3 最终完成一个神经网络

6.3.1 替换线性模型

6.3.2 检查参数

6.3.3 与线性模型对比

6.4 总结

6.5 练习题

6.6 本章小结

第7章 区分鸟和飞机:从图像学习

7.1 微小图像数据集

7.1.1 下载CIFAR-10

7.1.2 Dataset类

7.1.3 Dataset变换

7.1.4 数据归一化

7.2 区分鸟和飞机

7.2.1 构建数据集

7.2.2 一个全连接模型

7.2.3 分类器的输出

7.2.4 用概率表示输出

7.2.5 分类的损失

7.2.6 训练分类器

7.2.7 全连接网络的局限

7.3 总结

7.4 练习题

7.5 本章小结

第8章 使用卷积进行泛化

8.1 卷积介绍

卷积有什么作用

8.2 卷积实战

8.2.1 填充边界

8.2.2 用卷积检测特征

8.2.3 使用深度和池化技术进一步研究

8.2.4 为我们的网络整合一切

8.3 子类化nn.Module

8.3.1 将我们的网络作为一个nn.Module

8.3.2 PyTorch如何跟踪参数和子模块

8.3.3 函数式API

8.4 训练我们的convnet

8.4.1 测量精度

8.4.2 保存并加载我们的模型

8.4.3 在GPU上训练

8.5 模型设计

8.5.1 增加内存容量:宽度

8.5.2 帮助我们的模型收敛和泛化:正则化

8.5.3 深入学习更复杂的结构:深度

8.5.4 本节设计的比较

8.5.5 已经过时了

8.6 总结

8.7 练习题

8.8 本章小结

第2部分 从现实世界的图像中学习:肺癌的早期检测

第9章 使用PyTorch来检测癌症

9.1 用例简介

9.2 为一个大型项目做准备

9.3 到底什么是CT扫描

9.4 项目:肺癌的端到端检测仪

9.4.1 为什么我们不把数据扔给神经网络直到它起作用呢

9.4.2 什么是结节

9.4.3 我们的数据来源:LUNA大挑战赛

9.4.4 下载LUNA数据集

9.5 总结

9.6 本章小结

第10章 将数据源组合成统一的数据集

10.1 原始CT数据文件

10.2 解析LUNA的标注数据

10.2.1 训练集和验证集

10.2.2 统一标注和候选数据

10.3 加载单个CT扫描

亨氏单位

10.4 使用病人坐标系定位结节

10.4.1 病人坐标系

10.4.2 CT扫描形状和体素大小

10.4.3 毫米和体素地址之间的转换

10.4.4 从CT扫描中取出一个结节

10.5 一个简单的数据集实现

10.5.1 使用getCtRawCandidate()函数缓存候选数组

10.5.2 在LunaDataset.__init__()中构造我们的数据集

10.5.3 分隔训练集和验证集

10.5.4 呈现数据

10.6 总结

10.7 练习题

10.8 本章小结

第11章 训练分类模型以检测可疑肿瘤

11.1 一个基本的模型和训练循环

11.2 应用程序的主入口点

11.3 预训练和初始化

11.3.1 初始化模型和优化器

11.3.2 数据加载器的维护和供给

11.4 我们的首次神经网络设计

11.4.1 核心卷积

11.4.2 完整模型

11.5 训练和验证模型

11.5.1 computeBatchLoss()函数

11.5.2 类似的验证循环

11.6 输出性能指标

logMetrics()函数

11.7 运行训练脚本

11.7.1 训练所需的数据

11.7.2 插曲:enumerateWithEstimate()函数

11.8 评估模型:得到99.7%的正确率是否意味着我们完成了任务

11.9 用TensorBoard绘制训练指标

11.9.1 运行TensorBoard

11.9.2 增加TensorBoard对指标记录函数的支持

11.10 为什么模型不学习检测结节

11.11 总结

11.12 练习题

11.13 本章小结

第12章 通过指标和数据增强来提升训练

12.1 高级改进计划

12.2 好狗与坏狗:假阳性与假阴性

12.3 用图表表示阳性与阴性

12.3.1 召回率是Roxie的强项

12.3.2 精度是Preston的强项

12.3.3 在logMetrics()中实现精度和召回率

12.3.4 我们的终极性能指标:F1分数

12.3.5 我们的模型在新指标下表现如何

12.4 理想的数据集是什么样的

12.4.1 使数据看起来更理想化

12.4.2 使用平衡的LunaDataset与之前的数据集运行情况对比

12.4.3 认识过拟合

12.5 重新审视过拟合的问题

一种过拟合的根据面部预测年龄的模型

12.6 通过数据增强防止过拟合

12.6.1 具体的数据增强技术

12.6.2 看看数据增强带来的改进

12.7 总结

12.8 练习题

12.9 本章小结

第13章 利用分割法寻找可疑结节

13.1 向我们的项目添加第2个模型

13.2 各种类型的分割

13.3 语义分割:逐像素分类

U-Net架构

13.4 更新分割模型

将现成的模型应用到我们的项目中

13.5 更新数据集以进行分割

13.5.1 U-Net有非常具体的对输入大小的要求

13.5.2 U-Net对三维和二维数据的权衡

13.5.3 构建真实、有效的数据集

13.5.4 实现Luna2dSegmentationDataset

13.5.5 构建训练和验证数据

13.5.6 实现TrainingLuna2dSegmentationDataset

13.5.7 在GPU上增强数据

13.6 更新用于分割的训练脚本

13.6.1 初始化分割和增强模型

13.6.2 使用Adam优化器

13.6.3 骰子损失

13.6.4 将图像导入TensorBoard

13.6.5 更新指标日志

13.6.6 保存模型

13.7 结果

13.8 总结

13.9 练习题

13.10 本章小结

第14章 端到端的结节分析及下一步的方向

14.1 接近终点线

14.2 验证集的独立性

14.3 连接CT分割和候选结节分类

14.3.1 分割

14.3.2 将体素分组为候选结节

14.3.3 我们发现结节了吗?分类以减少假阳性

14.4 定量验证

14.5 预测恶性肿瘤

14.5.1 获取恶性肿瘤信息

14.5.2 曲线基线下的区域:按直径分类

14.5.3 重用预先存在的权重:微调

14.5.4 TensorBoard中的输出

14.6 在诊断时所见的内容

训练集、验证集和测试集

14.7 接下来呢?其他灵感和数据的来源

14.7.1 防止过拟合:更好的正则化

14.7.2 精细化训练数据

14.7.3 竞赛结果及研究论文

14.8 总结

幕后

14.9 练习题

14.10 本章小结

第3部分 部署

第15章 部署到生产环境

15.1 PyTorch模型的服务

15.1.1 支持Flask服务的模型

15.1.2 我们想从部署中得到的东西

15.1.3 批处理请求

15.2 导出模型

15.2.1 PyTorch与ONNX的互操作性

15.2.2 PyTorch自己的导出:跟踪

15.2.3 具有跟踪模型的服务器

15.3 与PyTorch JIT编译器交互

15.3.1 超越经典Python/PyTorch的期望是什么

15.3.2 PyTorch作为接口和后端的双重特性

15.3.3 TorchScript

15.3.4 为可追溯的差异编写脚本

15.4 LibTorch:C++中的PyTorch

15.4.1 从C++中运行JITed模型

15.4.2 从C++ API开始

15.5 部署到移动设备

提高效率:模型设计和量化

15.6 新兴技术:PyTorch模型的企业服务

15.7 总结

15.8 练习题

15.9 本章小结

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部