複数のターゲットでの推論
ONNX Runtimeを使用して異なるハードウェアターゲットでPyTorchモデルを推論する
Section titled “ONNX Runtimeを使用して異なるハードウェアターゲットでPyTorchモデルを推論する”PyTorchまたはONNXモデルをデプロイし、パフォーマンスとハードウェアの柔軟性を最大化したい開発者として、ONNX Runtimeを活用してハードウェアプラットフォーム上でモデルを最適に実行できます。
このチュートリアルでは、以下を学習します:
- 画像分類のためのPyTorch ResNet-50モデルの使用方法
- ONNXへの変換方法
- デフォルトのCPU、NVIDIA CUDA(GPU)、およびIntel OpenVINOでのONNX Runtimeへのデプロイ方法 — 同じアプリケーションコードを使用してハードウェアプラットフォーム間で推論をロードおよび実行
ONNXは、Microsoft、Meta、Amazon、その他のテクノロジー企業によってオープンソースのMLモデル形式として開発され、機械学習モデルを様々なタイプのハードウェアに標準化し、簡単にデプロイできるようにしました。ONNX Runtimeは、PyTorch、Tensorflow、その他のフレームワークでONNXモデルのパフォーマンスを最適化するためにMicrosoftによって貢献され、維持されています。ImageNetデータセットで学習されたResNet-50モデルは、画像分類によく使用されます。
このチュートリアルでは、Microsoft Azure Machine Learningを使用して、CPU、GPU、およびOpenVINOを使用したIntelハードウェアでONNXモデルを実行する方法を示します。
セットアップ
Section titled “セットアップ”OS前提条件
Section titled “OS前提条件”環境にcurlがインストールされている必要があります。
デバイス前提条件
Section titled “デバイス前提条件”onnxruntime-gpuライブラリは、デバイスまたはコンピュートクラスター内のNVIDIA CUDAアクセラレーターへのアクセスが必要ですが、CPUのみでの実行はCPUおよびOpenVINO-CPUデモで動作します。
推論前提条件
Section titled “推論前提条件”推論を行う画像があることを確認してください。このチュートリアルでは、Notebookファイルと同じディレクトリにある「cat.jpg」画像を使用します。
環境前提条件
Section titled “環境前提条件”Azure Notebook TerminalまたはAnaConda promptウィンドウで、以下のコマンドを実行してCPU、GPU、および/またはOpenVINO用の3つの環境を作成します(違いは太字で示されています)。
CPU