Visual Studio Code 中的 PyTorch 支持

除了支持Jupyter Notebooks,Visual Studio Code 还为 PyTorch 开发者提供了许多特别有趣的功能。本文介绍了一些这些功能,并说明了它们如何帮助您的项目。如果您不熟悉 PyTorch 开发,Microsoft Learn 提供了一个开始使用 PyTorch 学习路径,涵盖了使用 PyTorch 进行深度学习的基础知识。

数据查看器支持张量和数据切片

VS Code 提供了一个数据查看器,允许您探索代码和笔记本中的变量,包括 PyTorch 和 TensorFlow 的 Tensor 数据类型。此外,数据查看器还支持数据切片,允许您查看高维数据的任何二维切片。

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

从变量资源管理器访问数据查看器

或者,您可以通过在调试器中右键单击任何Tensor变量并选择在数据查看器中查看值来从Python调试会话中打开它。

从Python调试器访问数据查看器

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

数据查看器,显示数据切片和张量

除了切片,您还可以通过在每个列名下的过滤器中搜索“inf's”或“NaN's”等关键词来查找感兴趣的值。

TensorBoard 集成

TensorBoard 是一个数据科学伴侣仪表板,帮助 PyTorchTensorFlow 开发者可视化数据集和模型训练。通过直接在 VS Code 中集成 TensorBoard,您可以检查模型的预测,查看模型的架构,分析模型随时间变化的损失和准确性,并对代码进行性能分析以找出最慢的部分。

TensorBoard与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 与 VS Code 的集成

通过Pylance语言服务器实现的IntelliSense

在VS Code中使用Pylance增强的Python编辑体验,为PyTorch提供了代码补全和其他丰富的功能。为了获得最佳体验,请将PyTorch更新到1.10.1版本,以获得对子模块(如nn、cuda和optim)的改进补全功能。

Pylance 对 PyTorch 的支持