- 示例工程
- 教程
- 人工智能
- 深度学习
【免费下载链接】deep-learning-with-python-notebooks
Jupyter notebooks for the code samples of the book "Deep Learning with Python"
导读
本篇文章聚焦开源仓库 deep-learning-with-python-notebooks 中second_edition/目录下的第二版(2021 年出版)配套 Jupyter Notebooks。这批笔记本以tf.keras与 TensorFlow 2.16 为基础,覆盖从张量数学基础到 Transformer、生成模型在内的 13 个章节共 19 个 notebook 文件。读完本文,你将掌握这批 notebooks 的章节组织结构、每个 notebook 的核心技术内容、代码中实际使用的 Keras API 形态,以及在本仓库中定位与运行它们的完整方法。
第二版 Notebooks 概览:技术与版本定位
second_edition/README.md是一份简短而明确的索引文档,核心声明如下:这些 notebook 对应《Deep Learning with Python》第二版(2021 年出版),全部使用tf.keras,运行在 TensorFlow 2.16 之上。
这句话定义了整批 notebook 的技术基线:与仓库根目录下面向第三版(2025 年出版)、采用 Keras 3 多后端(JAX/TensorFlow/PyTorch)的笔记本不同,第二版代码统一走from tensorflow import keras/from tensorflow.keras import layers这一经典 tf.keras 导入路径。这一点在仓库各 notebook 的源码单元格中可以得到印证,例如:
- second_edition/chapter03_introduction-to-keras-and-tf.ipynb 中
import tensorflow as tf、from tensorflow import keras、from tensorflow.keras import layers; - second_edition/chapter04_getting-started-with-neural-networks.ipynb 中
from tensorflow.keras.datasets import imdb、from tensorflow.keras.datasets import reuters、from tensorflow.keras.datasets import boston_housing; - second_edition/chapter13_best-practices-for-the-real-world.ipynb 中
keras.mixed_precision.set_global_policy("mixed_float16")与keras.callbacks.EarlyStopping。
如果你希望复现第三版(Keras 3、可选后端)或第一版(2017)的对应内容,可分别查看仓库根目录下的 chapterXX 系列与 first_edition 目录。本文只围绕第二版展开。
第二版章节目录全景
second_edition/README.md以目录(Table of contents)形式列出了全部章节对应的 notebook 文件名。下表为完整继承并转为仓库相对路径后的目录结构:
| 章节 | 主题 | 仓库中的 Notebook |
|---|---|---|
| Chapter 2 | 神经网络背后的数学构建块 | chapter02_mathematical-building-blocks.ipynb |
| Chapter 3 | Keras 与 TensorFlow 入门 | chapter03_introduction-to-keras-and-tf.ipynb |
| Chapter 4 | 神经网络入门:分类与回归 | chapter04_getting-started-with-neural-networks.ipynb |
| Chapter 5 | 机器学习基础 | chapter05_fundamentals-of-ml.ipynb |
| Chapter 7 | 深入使用 Keras | chapter07_working-with-keras.ipynb |
| Chapter 8 | 深度学习用于计算机视觉入门 | chapter08_intro-to-dl-for-computer-vision.ipynb |
| Chapter 9 | 深度学习用于计算机视觉进阶(三部分) | chapter09_part01_image-segmentation.ipynb(图像分割) chapter09_part02_modern-convnet-architecture-patterns.ipynb(现代卷积网络架构模式) chapter09_part03_interpreting-what-convnets-learn.ipynb(理解卷积网络学习的内容) |
| Chapter 10 | 深度学习用于时间序列 | chapter10_dl-for-timeseries.ipynb |
| Chapter 11 | 深度学习用于文本(四部分) | chapter11_part01_introduction.ipynb(引言) chapter11_part02_sequence-models.ipynb(序列模型) chapter11_part03_transformer.ipynb(Transformer) chapter11_part04_sequence-to-sequence-learning.ipynb(序列到序列学习) |
| Chapter 12 | 生成式深度学习(五部分) | chapter12_part01_text-generation.ipynb(文本生成) chapter12_part02_deep-dream.ipynb(Deep Dream) chapter12_part03_neural-style-transfer.ipynb(神经风格迁移) chapter12_part04_variational-autoencoders.ipynb(变分自编码器) chapter12_part05_gans.ipynb(生成对抗网络) |
| Chapter 13 | 真实世界中的最佳实践 | chapter13_best-practices-for-the-real-world.ipynb |
| Chapter 14 | 结论 | chapter14_conclusions.ipynb |
从内容覆盖看,第二版 notebooks 是一个完整的深度学习学习链路:基础数学 → 框架入门 → 分类/回归实战 → 机器学习原理 → Keras 深度使用 → 计算机视觉(CNN 入门、分割、架构模式、可解释性)→ 时间序列 → 文本(RNN、Transformer、Seq2Seq)→ 生成模型(文本生成、Deep Dream、风格迁移、VAE、GAN)→ 工程实践 → 总结。
章节内容纵深解析:从源码看每个 Notebook 的技术要点
第二版 README 只提供了章节标题与链接,其技术实质落在各个 notebook 的代码单元格中。以下结合仓库源码逐章展开,便于读者按图索骥。
Chapter 2:神经网络的数学构建块
chapter02_mathematical-building-blocks.ipynb 内部的小节标题给出了清晰的知识脉络:
- A first look at a neural network(第一次看神经网络):以 MNIST 手写数字分类为第一个完整示例,演示数据加载、模型构建、编译与训练的完整最小闭环;
- Data representations for neural networks(数据的表示):讲解标量、向量、矩阵、张量的概念与张量形状对模型的影响;
- The gears of neural networks: tensor operations(神经网络的核心:张量运算):涵盖逐元素运算、广播、点积、张量重塑等基础算子;
- The engine of neural networks: gradient-based optimization(神经网络的引擎:基于梯度的优化):介绍梯度、反向传播与优化器的配合方式;
- Looking back at our first example与Summary(回看首个示例与小结)。
这一章是全书的"地基",建议与书第 2 章正文配合阅读,重点理解张量运算如何构成网络前向传播。
Chapter 3:Keras 与 TensorFlow 入门
chapter03_introduction-to-keras-and-tf.ipynb 的核心是框架层。源码中出现了import tensorflow as tf、from tensorflow import keras与from tensorflow.keras import layers三行标准导入,是第二版所有 notebook 共用的导入模式。本章会介绍 TensorFlow 的基本张量操作、tf.Variable与自动微分机制,以及 Keras 高层 API 如何把底层运算封装成可复用的层与模型。
Chapter 4:神经网络入门——分类与回归
chapter04_getting-started-with-neural-networks.ipynb 是实操密度最高的一章,源码中包含了三个经典数据集的完整示例:
- IMDB 影评情感分类(二分类):
from tensorflow.keras.datasets import imdb加载数据,构建keras.Sequential模型,通过model.compile(optimizer="rmsprop", loss="binary_crossentropy", metrics=["accuracy"])配置训练,再用model.fit(partial_x_train, ...)分段训练并预留验证集; - Reuters 新闻主题分类(多分类):
from tensorflow.keras.datasets import reuters加载数据,同样使用Sequential与 rmsprop 优化器,损失函数切换为多分类交叉熵,验证集划分方式一致; - Boston 房价回归(回归任务):
from tensorflow.keras.datasets import boston_housing,model.compile(optimizer="rmsprop", loss="mse", metrics=["mae"])使用均方误差与平均绝对误差,训练流程包含 K 折交叉验证(多个model.fit(partial_train_data, partial_train_targets, ...)调用)。
三个示例共同演示了二分类、多分类、回归三种任务在 tf.keras 中的统一工作流:加载数据 → 构建Sequential→compile指定优化器/损失/指标 →fit训练。
Chapter 5:机器学习基础
chapter05_fundamentals-of-ml.ipynb 聚焦泛化、过拟合、欠拟合、正则化等概念,与 Chapter 4 的实操形成理论与实践的呼应。阅读时建议重点对照书中第 5 章的插图与概念表格。
Chapter 7:深入使用 Keras
chapter07_working-with-keras.ipynb 深入 Keras 建模 API。源码中可以看到两种构建Sequential模型的方式:
from tensorflow import keras from tensorflow.keras import layers # 方式一:构造时一次性传入层列表 model = keras.Sequential([ layers.Dense(64, activation="relu"), layers.Dense(10, activation="softmax") ]) # 方式二:先建空模型再逐层 add model = keras.Sequential() model.add(layers.Dense(64, activation="relu")) model.add(layers.Dense(10, activation="softmax"))layers.Dense(units, activation=...)中units为神经元数、activation可选"relu"、"softmax"、"sigmoid"等。本章还会涉及函数式 API(keras.Input与层调用链)、Model子类化、自定义训练循环、回调函数(Callbacks)等进阶主题,是理解 tf.keras 全貌的关键章节。
Chapter 8:计算机视觉入门
chapter08_intro-to-dl-for-computer-vision.ipynb 从零开始搭建卷积神经网络,覆盖卷积层、池化层、Dropout 与数据增强等视觉任务核心组件,为 Chapter 9 的进阶内容铺路。
Chapter 9:计算机视觉进阶(三部分)
Chapter 9 被拆分为三个独立 notebook,主题各有侧重:
- Part 1 图像分割:chapter09_part01_image-segmentation.ipynb,讲解语义分割任务与对应模型结构;
- Part 2 现代卷积网络架构模式:chapter09_part02_modern-convnet-architecture-patterns.ipynb,覆盖残差连接、批归一化、深度可分离卷积、Xception 等现代架构设计模式;
- Part 3 理解卷积网络学习的内容:chapter09_part03_interpreting-what-convnets-learn.ipynb,通过可视化卷积核、类激活热力图等手段解释 CNN 的决策依据。
Chapter 10:时间序列
chapter10_dl-for-timeseries.ipynb 处理序列数据的又一分支——时间序列预测,涵盖窗口化数据集构造、简单线性模型、RNN 与 CNN 在时间序列上的应用对比。
Chapter 11:文本深度学习(四部分)
Chapter 11 是文本处理专题,分四个 notebook:
- Part 1 引言:chapter11_part01_introduction.ipynb,文本表示的入门与数据集准备;
- Part 2 序列模型:chapter11_part02_sequence-models.ipynb,RNN、LSTM、GRU 等序列模型的原理与实现(源码中出现
from tensorflow import keras与from tensorflow.keras import layers的标准导入); - Part 3 Transformer:chapter11_part03_transformer.ipynb,自注意力机制与 Transformer 架构的完整实现(同样使用
keras.layers构建多头注意力与位置编码); - Part 4 序列到序列学习:chapter11_part04_sequence-to-sequence-learning.ipynb,Seq2Seq 模型与机器翻译等应用场景。
Chapter 12:生成式深度学习(五部分)
Chapter 12 是全书最具观赏性的部分,包含五个 notebook:
- Part 1 文本生成:chapter12_part01_text-generation.ipynb,基于字符级或词级语言模型生成文本;
- Part 2 Deep Dream:chapter12_part02_deep-dream.ipynb,通过梯度上升在图像中放大网络已学到的模式;
- Part 3 神经风格迁移:chapter12_part03_neural-style-transfer.ipynb,把一张图像的内容与另一张图像的风格融合;
- Part 4 变分自编码器(VAE):chapter12_part04_variational-autoencoders.ipynb,概率潜在空间的图像生成模型;
- Part 5 生成对抗网络(GAN):chapter12_part05_gans.ipynb,生成器与判别器的对抗训练范式。
Chapter 13:真实世界最佳实践
chapter13_best-practices-for-the-real-world.ipynb 是工程化章节,源码中包含了多个直接可复用的实战模式:
- 标准导入:
from tensorflow import keras、from tensorflow.keras import layers; - 回调机制:
keras.callbacks.EarlyStopping(monitor="val_loss", patience=5)——监控验证损失、连续 5 个 epoch 无改善即停止训练,防止过拟合并节省算力; - 混合精度训练:
keras.mixed_precision.set_global_policy("mixed_float16")——以 float16 参与部分计算、float32 做梯度累积,在支持的 GPU 上显著提升吞吐; - 数据加载:
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()演示标准数据集接口。
Chapter 14:结论
chapter14_conclusions.ipynb 作为全书收尾,回顾整个学习路径,从理论、实践与生态三个维度做总结。
运行方式与前置条件
根据 README.md 对仓库总体的运行说明(同样适用于第二版 notebooks)以及second_edition/README.md的版本声明,运行这批 notebook 需注意:
- 依赖版本:第二版 notebooks 需要 TensorFlow 2.16 环境(
tf.keras为 Keras 2.x API 形态)。请注意与第三版 notebook(Keras 3 多后端)的依赖差异,两者不能混用同一运行环境配置。 - 推荐平台:仓库主 README 建议在 Colab 上运行,它提供托管运行时与预装依赖;也支持本地搭建 Jupyter 环境运行。
- 硬件需求:默认的免费 GPU 运行时足以跑完书中所有代码;第 8 章及之后的视觉/生成类章节在更快的 GPU(如 Colab Pro)上训练耗时更短,可通过 Colab 菜单
Runtime -> Change runtime type切换运行时类型。 - 数据集:第二版 notebook 使用的
keras.datasets(IMDB、Reuters、Boston housing、MNIST 等)由 tf.keras 自带下载,无需额外注册;若运行涉及 Kaggle 数据的章节,仓库根目录 README.md 给出了kagglehub.login()会话登录与 Colab secrets(KAGGLE_USERNAME/KAGGLE_KEY)两种 Kaggle 凭证配置方式,第二版中同样适用。
阅读与使用建议
- 与书配套阅读:仓库根目录 README.md 明确指出,为了可读性,所有 notebook 只保留可运行的代码块与章节标题,省略了正文文字、插图与伪代码。因此最有效的学习方式是"notebook + 书"对照阅读:书提供概念解释,notebook 提供可直接运行的完整代码。
- 按顺序推进:第二版章节存在强依赖关系——Chapter 2/3 是基础,Chapter 4/5 建立建模与评估直觉,Chapter 7 之后逐步进入视觉、序列与生成等专项,Chapter 13 沉淀工程实践。建议沿目录顺序执行,每个 notebook 从头到尾运行一遍代码单元。
- 在仓库中快速定位:全部第二版 notebook 位于 second_edition 目录下,文件名即章节号,可通过上文的目录表按需跳转;同一主题的三版实现分别位于仓库根目录(第三版)、second_edition(第二版)与 first_edition(第一版),便于横向对比不同版本 Keras API 的演进。
- 示例工程
- 教程
- 人工智能
- 深度学习
【免费下载链接】deep-learning-with-python-notebooks
Jupyter notebooks for the code samples of the book "Deep Learning with Python"
相关推荐
结构化克隆算法深度解析:HTML Standard中安全传递对象与可转移对象的完整规则
结构化克隆算法深度解析:HTML Standard中安全传递对象与可转移对象的完整规则 结构化克隆(Structured Clone)是 HTML Standa
示例工程教程人工智能深度学习OpenAI Apps SDK社区贡献:如何为开源项目做出有意义的改进
OpenAI Apps SDK社区贡献:如何为开源项目做出有意义的改进 OpenAI Apps SDK是一个功能强大的开发工具包,为开发者提供了构建基于Open
终极指南:如何在ComfyUI中实现精准AI动作迁移
终极指南:如何在ComfyUI中实现精准AI动作迁移 ComfyUI MimicMotionWrapper 是一个专为ComfyUI平台设计的AI动作迁移插件,
人工智能媒体生成大模型计算机视觉
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考