Visual Studio Code 中的 PyTorch 支援
除了對 Jupyter Notebooks 的支援外,Visual Studio Code 還提供了許多 PyTorch 開發者特別感興趣的功能。本文將介紹其中一些功能,並說明它們如何協助您的專案開發。如果您不熟悉 PyTorch 開發,Microsoft Learn 提供了 PyTorch 入門學習路徑,涵蓋了使用 PyTorch 進行深度學習的基礎知識。
針對 Tensor 和資料切片的資料檢視器 (Data Viewer) 支援
VS Code 提供了一個 資料檢視器 (Data Viewer),讓您可以探索程式碼和 Notebook 中的變數,包括 PyTorch 和 TensorFlow 的 Tensor 資料類型。此外,資料檢視器支援資料切片,讓您能夠檢視多維資料的任何二維切片。
若要存取資料檢視器,您可以從 Notebook 的變數總管 (Variable Explorer) 中,點擊出現在任何 Tensor 變數旁的「資料檢視器」圖示來開啟。您也會注意到變數總管同時顯示了 Tensor 的形狀/維度。

或者,您也可以在 Python 偵錯工作階段中,對偵錯器中的任何 Tensor 變數按一下滑鼠右鍵,並選擇在資料檢視器中檢視值 (View Value in Data Viewer) 來開啟。

如果您有三維或更高維度的資料(numpy ndarray、PyTorch Tensor 或 TensorFlow EagerTensor 類型),資料檢視器預設會開啟資料切片面板。使用該面板,您可以透過輸入框使用 Python 切片語法以程式設計方式指定切片,也可以使用互動式的軸 (Axis) 和索引 (Index) 下拉選單進行切片。

除了切片之外,您還可以透過在各欄名稱下方的篩選器中搜尋關鍵字,來搜尋感興趣的值,例如 "inf" 或 "NaN"。
TensorBoard 整合
TensorBoard 是一個資料科學輔助儀表板,可協助 PyTorch 和 TensorFlow 開發者視覺化資料集與模型訓練過程。隨著 TensorBoard 直接整合至 VS Code,您可以隨時檢查模型預測、檢視模型架構、分析模型隨時間變化的損失 (loss) 與準確度 (accuracy),並對程式碼進行效能分析,找出運作最慢的部分。

若要啟動 TensorBoard 工作階段,請開啟命令選擇區 (Command Palette)(⇧⌘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 模型。關於 Profiler 的更多資訊,請參閱 PyTorch Profiler 文件。

透過 Pylance 語言伺服器提供的 IntelliSense
VS Code 中的 Python 編輯體驗在 Pylance 的加持下,為 PyTorch 提供了程式碼自動完成與其他豐富的功能。為了獲得最佳體驗,建議將 PyTorch 更新至 1.10.1 版本,以獲得針對子模組(如 nn、cuda 和 optim)的改進後的自動完成功能。
