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

Visual Studio CodeでのPyTorchのサポート

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

TensorBoard integration with 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モデルを1か所でより良く分析できます。プロファイラーの詳細については、PyTorch Profilerのドキュメントを参照してください。

PyTorch Profiler integration with VS Code

Pylance言語サーバーを介したIntelliSense

Pylanceの機能で強化されたVS CodeのPython編集エクスペリエンスは、PyTorchの補完機能やその他の豊富な機能を提供します。最高の体験を得るには、PyTorchを1.10.1に更新して、nn、cuda、optimなどのサブモジュールに対する補完機能を改善してください。

Pylance support for PyTorch