VS Codeのエージェントモードを拡張するには、を試してください!

Visual Studio CodeでのPyTorchのサポート

Jupyter Notebookのサポートに加えて、Visual Studio CodeはPyTorch開発者にとって特に興味深い多くの機能を提供します。この記事では、これらの機能の一部を紹介し、プロジェクトでどのように役立つかを示します。PyTorch開発に慣れていない場合は、Microsoft LearnがPyTorchでのディープラーニングの基礎をカバーするPyTorch入門学習パスを提供しています。

テンソルおよびデータスライスに対するデータビューアーのサポート

VS Codeは、PyTorchおよびTensorFlowのTensorデータ型を含む、コードおよびノートブック内の変数を探索できるデータビューアーを提供します。それに加えて、データビューアーはデータスライスをサポートしており、高次元データの任意の2次元スライスを表示できます。

データビューアーにアクセスするには、ノートブック変数エクスプローラーから、任意のテンソル変数の横に表示されるデータビューアーアイコンをクリックして開くことができます。また、変数エクスプローラーはテンソルの形状/次元も表示します。

Accessing the Data Viewer from the variable explorer

または、Pythonデバッグセッションから、デバッガー内の任意のテンソル変数を右クリックし、データビューアーで値を表示を選択して開くこともできます。

Accessing the Data Viewer from the Python debugger

3次元以上のデータ (numpy ndarray、PyTorch Tensor、またはTensorFlow EagerTensor タイプ) の場合、データスライスパネルがデフォルトでデータビューアーに開きます。このパネルを使用すると、入力ボックスを使用してPythonスライス構文でプログラム的にスライスを指定するか、対話型のおよびインデックスドロップダウンを使用してスライスすることもできます。

Data Viewer with data slices and tensors

スライスの他に、各列名の下にあるフィルターで「inf」や「NaN」などのキーワードを検索することで、関心のある値を検索できます。

TensorBoard統合

TensorBoardは、PyTorchおよびTensorFlow開発者がデータセットとモデルトレーニングを視覚化するのに役立つデータサイエンスコンパニオンダッシュボードです。VS CodeにTensorBoardが直接統合されているため、モデルの予測をスポットチェックしたり、モデルのアーキテクチャを表示したり、時間の経過に伴うモデルの損失と精度を分析したり、コードをプロファイルしてどこが最も遅いかを見つけたりすることができます。

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モデルを1か所でよりよく分析できます。プロファイラーの詳細については、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