Visual Studio Code 中的 PyTorch 支持

除了支持 Jupyter Notebooks,Visual Studio Code 还提供了许多对 PyTorch 开发者特别感兴趣的功能。本文将介绍其中一些功能,并展示它们如何帮助你的项目。如果你不熟悉PyTorch的开发,Microsoft Learn提供了一个“入门PyTorch学习路径”,涵盖了PyTorch深度学习的基础知识。

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

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

要访问数据查看器,可以通过点击显示在任何张量变量旁边的数据查看器图标,从笔记本变量探索器中打开它。你还会注意到变量浏览器还显示张量的形状和尺寸。

从变量浏览器访问数据查看器

或者你也可以在调试器中右键点击任何张量变量,然后在数据查看器中选择“查看值”来打开它。

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

如果你拥有三维或更大的数据(numpy恩达拉伊, PyTorch张量,或张量流渴望张量类型)数据切片面板默认会在数据查看器中打开。通过面板,你可以用输入框用 Python 切片语法编程指定切片,或者用交互式的轴和索引下拉菜单来切片。

带有数据切片和张量的数据查看器

除了切片,你还可以在每个列名下的筛选器中搜索感兴趣的值,比如“inf”或“NaN”。

TensorBoard 集成

TensorBoard 是一个数据科学辅助仪表盘,帮助 PyTorchTensorFlow 开发者可视化数据集和模型训练。通过直接集成 VS Code 的 TensorBoard,你可以抽查模型的预测,查看模型架构,分析模型随时间的损耗和准确性,并分析代码的运行速度最慢。

TensorBoard 与 VS Code 的集成

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

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

PyTorch 分析器集成

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

PyTorch Profiler 与 VS Code 的集成

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

在 VS Code 中,Python 编辑体验借助 Pylance 的强大功能,为 PyTorch 提供了补全和其他丰富的功能。为了获得最佳体验,建议将PyTorch更新到1.10.1,以获得子模块(如nn、cuda和optim)的改进补全。

Pylance 对 PyTorch 的支持