在 VS Code 中试试

Visual Studio Code 中的 PyTorch 支持

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

Data Viewer 支持张量和数据切片

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

要访问 Data Viewer,您可以从 Notebook 变量资源管理器中打开它,只需单击任何 Tensor 变量旁边出现的 Data Viewer 图标即可。您还会注意到变量资源管理器也会显示 Tensor 的形状/维度。

Accessing the Data Viewer from the variable explorer

或者,您也可以从 Python 调试会话中打开它,只需在调试器中右键单击任何 Tensor 变量并选择在 Data Viewer 中查看值即可。

Accessing the Data Viewer from the Python debugger

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

Data Viewer with data slices and tensors

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

TensorBoard 集成

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

TensorBoard integration with VS Code

要启动 TensorBoard 会话,打开命令面板⇧⌘P(Windows、Linux Ctrl+Shift+P),并搜索命令Python: 启动 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 语言服务器提供智能感知

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

Pylance support for PyTorch