Skip to Content
为深度学习编程 PyTorch
book

为深度学习编程 PyTorch

by Ian Pointer
July 2025
Intermediate to advanced
220 pages
3h
Chinese
O'Reilly Media, Inc.
Book available
Content preview from 为深度学习编程 PyTorch

第 7 章 调试 PyTorch 模型 调试 PyTorch 模型

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

到目前为止,我们已经在本书中创建了许多模型,但在本章中,我们将简要地了解如何解释这些模型,并弄清它们背后到底发生了什么。我们来看看如何使用类激活映射与 PyTorch 钩子来确定模型的重点,决定如何将 PyTorch 连接到 Google 的 TensorBoard 以进行调试。我展示了如何使用火焰图来识别转换和训练管道中的瓶颈,并提供了一个加快缓慢转换的工作示例。最后,我们将探讨在使用检查点处理大型模型时,如何以计算换内存。首先,简要介绍一下您的数据。

现在是凌晨 3 点,你的数据在做什么?

在我们深入探讨诸如 TensorBoard 或梯度检查点等在单 GPU 上使用大型模型的闪亮技术之前,先问问自己:你了解自己的数据吗?如果你正在对输入进行分类,你是否拥有所有可用标签的均衡样本?在训练集、验证集和测试集中?

此外,你确定你的标签是正确的吗重要的基于图像的数据集,如MNIST 和CIFAR-10(加拿大高级研究所)都包含一些错误的标签。您应该检查您的数据集,尤其是当类别彼此相似时,如狗的品种或植物的品种。如果您发现某个类别的标签只有很小的图像,而其他类别的标签都有大分辨率的示例,那么只需对您的数据进行正确性检查就可以节省很多时间。

一旦确保您的数据处于良好状态,那么是的,让我们前往 TensorBoard 开始检查模型中可能存在的问题。

张量板

TensorBoard是一款网络应用程序,用于可视化神经网络的各个方面。通过它可以轻松、实时地查看准确率、损失激活值等统计数据,以及任何你想通过网络发送的信息。虽然它是以 TensorFlow 为基础编写的,但它的 API 不可知且相当简单,因此在 PyTorch 中使用它与在 TensorFlow 中使用它并无太大区别。让我们安装它,看看如何使用它来深入了解我们的模型。

注意事项

在阅读 PyTorch 的相关资料时,你很可能会提到一个名为 Visdom 的应用程序,它是Facebook 的 TensorBoard 替代品。在 PyTorch v1.1 之前,支持可视化的方法是将 Visdom 与 PyTorch 结合使用,而第三方库(如tensorboardX )则可用于与 TensorBoard 集成。虽然 Visdom 仍在继续维护,但在 v1.1 及以上版本中加入了官方的 TensorBoard 集成,这表明 PyTorch 的开发者已经认识到 TensorBoard 是事实上的神经网络可视化工具。

安装 TensorBoard

可通过pipconda 安装 TensorBoard:

pip install tensorboard
conda install tensorboard
注意事项

PyTorch 需要 TensorBoard v1.14 或更高版本。

然后可以通过命令行启动 TensorBoard:

tensorboard --logdir=runs

然后可以访问http://[your-machine]:6006,在这里你会看到如图 7-1 所示的欢迎界面。现在我们可以向应用程序发送数据了。

图 7-1. 张量板

向 TensorBoard 发送数据

将 TensorBoard 与 PyTorch 结合使用的模块位于torch.utils.tensorboard

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

产品路线图全面升级

产品路线图全面升级

C. Todd Lombardo, Bruce McCarthy, Evan Ryan, Michael Connors
超越Vibe编程

超越Vibe编程

Addy Osmani

Publisher Resources

ISBN: 9798341662902Supplemental Content