コンテンツにスキップ

複数のターゲットでの推論

ONNX Runtimeを使用して異なるハードウェアターゲットでPyTorchモデルを推論する

Section titled “ONNX Runtimeを使用して異なるハードウェアターゲットでPyTorchモデルを推論する”

PyTorchまたはONNXモデルをデプロイし、パフォーマンスとハードウェアの柔軟性を最大化したい開発者として、ONNX Runtimeを活用してハードウェアプラットフォーム上でモデルを最適に実行できます。

このチュートリアルでは、以下を学習します:

  1. 画像分類のためのPyTorch ResNet-50モデルの使用方法
  2. ONNXへの変換方法
  3. デフォルトの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モデルを実行する方法を示します。

環境にcurlがインストールされている必要があります。

onnxruntime-gpuライブラリは、デバイスまたはコンピュートクラスター内のNVIDIA CUDAアクセラレーターへのアクセスが必要ですが、CPUのみでの実行はCPUおよびOpenVINO-CPUデモで動作します。

推論を行う画像があることを確認してください。このチュートリアルでは、Notebookファイルと同じディレクトリにある「cat.jpg」画像を使用します。

Azure Notebook TerminalまたはAnaConda promptウィンドウで、以下のコマンドを実行してCPU、GPU、および/またはOpenVINO用の3つの環境を作成します(違いは太字で示されています)。

CPU