PyTorch深度学习指南
书籍作者:丹尼尔·沃格特·戈多伊 |
ISBN:9787111749783 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:6475 |
创建日期:2024-06-26 |
发布日期:2024-06-26 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
“PyTorch深度学习指南”丛书循序渐进地详细讲解了与深度学习相关的重要概念、算法和模型,并着重展示了PyTorch是如何实现这些算法和模型的。其共分三卷:编程基础、计算机视觉、序列与自然语言处理。
本书为该套丛书的第一卷:编程基础。本书主要介绍了梯度下降和PyTorch的Autograd;训练循环、数据加载器、小批量和优化器;二元分类器、交叉熵损失和不平衡数据集;决策边界、评估指标和数据可分离性等内容。
本书适用于对深度学习感兴趣,并希望使用PyTorch实现深度学习的Python程序员阅读学习。
作者简介
丹尼尔?沃格特?戈多伊是一名数据科学家、开发人员、作家和教师。自2016年以来,他一直在柏林历史最悠久的训练营Data Science Retreat讲授机器学习和分布式计算技术,帮助数百名学生推进职业发展。
丹尼尔还是两个Python软件包——HandySpark和DeepReplay的主要贡献者。
他拥有在多个行业20多年的工作经验,这些行业包括银行、政府、金融科技、零售和移动出行等。
编辑推荐
适读人群 :人工智能从业者
国外Pytorch深度学习畅销书 全彩印刷
作者拥有20余年从业经验
“PyTorch深度学习指南”丛书循序渐进地详细讲解了与深度学习相关的重要概念、算法和模型,并着重展示了PyTorch是如何实现这些算法和模型的。其共分三卷:编程基础、计算机视觉、序列与自然语言处理。
本书适用于对深度学习感兴趣,并希望使用PyTorch实现深度学习的Python程序员阅读。
以下是部分国外读者书评:
Mike:语言通俗易懂,易于吸收和理解,没有长篇大论,也没有太多的数学符号,只在极少数情况下才在文中使用,确实很有帮助。作者带你了解如何在没有Torch的情况下首先构建和训练神经网络,以及梯度下降之类的事情是如何运作的。
Mark:这本书很棒!我能够在几天内读完它,它非常容易理解。我很熟悉scikit-learn,已经用了几年了,所以这本书是一种快速适应PyTorch的方法。对ML概念的回顾足够深入,所以我理解了代码。我现在开始读第二卷!
TS.:这本书不只是把代码推到你脸上,它解释了事物在引擎盖下是如何工作的。我非常喜欢这种风格,所以我把这本书及其第二卷作为我的ECE655高级GPU编程和深度学习课程的教材。
Jesse:我喜欢这位作家的风格。他从深度学习背后的基本概念开始,带领你从自己硬编码梯度下降到使用PyTorch高效实现,逐步提高抽象和复杂性。最后,你将能够在PyTorch中编写一个干净紧凑的模型,并且了解每个子组件在后台做什么。
前言
如果您正在阅读“PyTorch深度学习指南”这套书,我可能不需要告诉您深度学习有多棒,PyTorch有多酷,对吧?
但我会简单地告诉您,这套书是如何诞生的。2016年,我开始使用Apache Spark讲授一门机器学习课程。几年后,我又开设了另一门机器学习基础课程。
在以往的某个时候,我曾试图找到一篇博文,以清晰简洁的方式直观地解释二元交叉熵背后的概念,以便将其展示给我的学生们。但由于找不到任何符合要求的文章,所以我决定自己写一篇。虽然我认为这个话题相当基础,但事实证明它是我最受欢迎的博文!读者喜欢我用简单、直接和对话的方式来解释这个话题。
之后,在2019年,我使用相同的方式撰写了另一篇博文“Understanding PyTorch with an example: a step-by-step tutorial”,我再次被读者的反应所惊讶。
正是由于他们的积极反馈,促使我写这套书来帮助初学者开始他们的深度学习和PyTorch之旅。我希望读者能够享受阅读,就如同我曾经是那么享受本书的写作一样。
致谢
首先,我要感谢网友——我的读者,你们使这套书成为可能。如果不是因为有成千上万的读者在我的博文中对PyTorch的大量反馈,我可能永远都不会鼓起勇气开始并写完这一套近七百页的书。
我要感谢我的好朋友Jesús Martínez-Blanco(他把我写的所有内容都读了一遍)、Jakub Cieslik、Hannah Berscheid、Mihail Vieru、Ramona Theresa Steck、Mehdi Belayet Lincon和António Góis,感谢他们帮助了我,他们奉献出了很大一部分时间来阅读、校对,并对我的书稿提出了改进意见。我永远感谢你们的支持。我还要感谢我的朋友José Luis Lopez Pino,是他最初推动我真正开始写这套书。
非常感谢我的朋友JoséQuesada和David Anderson,感谢他们在2016年以学生身份邀请我参加Data Science Retreat,并随后聘请我在那里担任教师。这是我作为数据科学家和教师职业生涯的起点。
我还要感谢PyTorch开发人员开发了如此出色的框架,感谢Leanpub和Towards Data Science的团队,让像我这样的内容创作者能够非常轻松地在社区分享他们的工作。
最后,我要感谢我的妻子Jerusa,她在本套书的写作过程中一直给予我支持,并花时间阅读了其中的每一页。
目录
前 言
致 谢
关于作者
译者序
常见问题
为什么选择PyTorch?
为什么选择这套书?
谁应该读这套书?
我需要知道什么?
如何阅读这套书?
下一步是什么?
设置指南
官方资料库
环境
谷歌Colab
Binder
本地安装
继续
第0章 可视化梯度下降
剧透
Jupyter Notebook
导入
可视化梯度下降
模型
数据生成
合成数据生成
训练-验证-测试拆分
第0步——随机初始化
第1步——计算模型的预测
第2步——计算损失
损失面
横截面
第3步——计算梯度
可视化梯度
反向传播
第4步——更新参数
学习率
第5步——循环往复
梯度下降的路径
回顾
第1章 一个简单的回归问题
剧透
Jupyter Notebook
导入
一个简单的回归问题
数据生成
合成数据生成
梯度下降
第0步——随机初始化
第1步——计算模型的预测
第2步——计算损失
第3步——计算梯度
第4步——更新参数
第5步——循环往复
Numpy中的线性回归
PyTorch
张量
加载数据、设备和CUDA
创建参数
Autograd
backward
grad
zero_
更新参数
no_grad
动态计算图
优化器
step/zero_grad
损失
模型
参数
state_dict
设备
前向传递
训练
嵌套模型
序列(Sequential)模型
层
归纳总结
数据准备
模型配置
模型训练
回顾
第2章 重新思考训练循环
剧透
Jupyter Notebook
导入
重新思考训练循环
训练步骤
Dataset
TensorDataset
DataLoader
小批量内循环
随机拆分
评估
绘制损失
TensorBoard
在Notebook中运行
单独运行(本地安装)
单独运行(Binder)
SummaryWriter
add_graph
add_scalars
保存和加载模型
模型状态
保存
恢复训练
部署/做出预测
设置模型的模式
归纳总结
回顾
第2.1章 追求优雅
剧透
Jupyter Notebook
导入
追求优雅
类
构造方法
训练方法
保存和加载方法
可视化方法
完整代码
典型的管道
模型训练
做出预测
检查点
恢复训练
归纳总结
回顾
第3章 一个简单的分类问题
剧透
Jupyter Notebook
导入
一个简单的分类问题
数据生成
数据准备
模型
logit
概率
比值比(Odds Ratio)
对数比值比
从logit到概率
Sigmoid
逻辑斯蒂回归
损失
BCELoss
BCEWithLogitsLoss
不平衡数据集
模型配置
模型训练
决策边界
分类阈值
混淆矩阵
指标
权衡和曲线
归纳总结
回顾