Visual Studio Code 中的 PyTorch 支持

除了支持 Jupyter Notebooks 外,Visual Studio Code 还为 PyTorch 开发人员提供了许多特别实用的功能。本文涵盖了其中一些功能,并说明了它们如何为您在项目开发中提供帮助。如果您不熟悉 PyTorch 开发,Microsoft Learn 提供了 PyTorch 入门学习路径,涵盖了使用 PyTorch 进行深度学习的基础知识。

针对 Tensor(张量)和数据切片的数据查看器支持

VS Code 提供了一个数据查看器 (Data Viewer),允许您探索代码和 Notebook 中的变量,包括 PyTorch 和 TensorFlow 的 Tensor 数据类型。此外,数据查看器还支持数据切片,使您可以查看高维数据的任何 2D 切片。

要访问数据查看器,您可以从 Notebook 变量资源管理器中点击任意 Tensor 变量旁边显示的数据查看器图标来打开它。您还会注意到,变量资源管理器也会显示 Tensor 的形状/维度。

Accessing the Data Viewer from the variable explorer

或者,您也可以在 Python 调试会话期间,右键单击调试器中的任何 Tensor 变量,然后选择在数据查看器中查看值 (View Value in Data Viewer) 来打开它。

Accessing the Data Viewer from the Python debugger

如果您有三维或更高维的数据(numpy ndarray、PyTorch Tensor 或 TensorFlow EagerTensor 类型),数据查看器中会默认打开一个数据切片面板。使用该面板,您既可以使用输入框通过 Python 切片语法以编程方式指定切片,也可以使用交互式的轴 (Axis)索引 (Index) 下拉菜单进行切片。

Data Viewer with data slices and tensors

除了切片,您还可以通过在每一列名称下方的过滤器中搜索关键字(例如 "inf" 或 "NaN")来查找感兴趣的值。

TensorBoard 集成

TensorBoard 是一个数据科学配套仪表板,可帮助 PyTorchTensorFlow 开发人员可视化数据集和模型训练过程。通过在 VS Code 中直接集成 TensorBoard,您可以抽查模型的预测结果、查看模型架构、分析模型的损失和准确率随时间的变化,并对代码进行分析以找出性能瓶颈。

TensorBoard integration with VS Code

要启动 TensorBoard 会话,请打开命令面板⇧⌘P(Windows, Linux Ctrl+Shift+P)并搜索命令 Python: Launch TensorBoard。之后,系统会提示您选择 TensorBoard 日志文件所在的文件夹。默认情况下,VS Code 会使用您当前的工作目录,并自动检测任何子目录中的 TensorBoard 日志文件。当然,您也可以指定自己的目录。VS Code 将在新的选项卡中打开 TensorBoard,并在您工作时管理其生命周期。

您还可以使用设置 python.tensorboard.logDirectory 为您的文件夹/工作区设置默认的 TensorBoard 日志目录。

PyTorch Profiler(分析器)集成

除了 TensorBoard,VS Code 和 Python 扩展还集成了 PyTorch Profiler,让您能够在一个地方更好地分析您的 PyTorch 模型。有关分析器的更多信息,请参阅 PyTorch Profiler 文档

PyTorch Profiler integration with VS Code

通过 Pylance 语言服务器提供 IntelliSense(智能感知)

VS Code 中的 Python 编辑体验在 Pylance 的强大支持下,为 PyTorch 提供了补全功能和其他丰富特性。为了获得最佳体验,请将 PyTorch 更新至 1.10.1 版本,以获得针对 nn、cuda 和 optim 等子模块的改进补全效果。

Pylance support for PyTorch

© . This site is unofficial and not affiliated with Microsoft.