PyTorch - 2.5 日本語

Vitis AI ユーザー ガイド (UG1414)

Document ID
UG1414
Release Date
2022-06-15
Version
2.5 日本語

WeGO-Torch は WeGO のサブプロジェクトで、Vitis AI ツールチェーンを PyTorch フレームワークに統合することによって Vitis AI の EoU を向上させることを目的として設計されています。WeGO-Torch は標準的な WeGO ワークフローに従います。つまり、ユーザーが手間をかけなくても、モデルの分割、コンパイル、および推論を自動的に実行します。

WeGO-Torch Python API は、(Vitis AI PyTorch クオンタイザーによって生成される) 量子化済み TorchScript モジュールを入力として受け入れ、最適化された TorchScript モジュールを返します。このモジュールは直ちに推論に使用できます。次に、WeGO-Torch を利用して PyTorch で Vitis-AI を高速化するための一般的な手順を示します。
  1. WeGO-Torch python モジュールをユーザーのアプリケーションにインポートします。
  2. 標準 PyTorch の Python API を使用して、量子化済み TorchScript モジュールを読み込みます。
  3. WeGO-Torch モジュールの API を使用して、入力として TorchScript モジュールと入力形状を指定し、量子化済み TorchScript モジュールをコンパイルします。コンパイルの結果、最適化された TorchScript モジュールが返されます。
  4. 最適化された TorchScript モジュールを使用して、推論を実行します。

次に示すコード スニペットは、WeGO-Torch の Python API の基本的な使用法を示しています。

import torch
# Step 1: Import WeGO-Torch python module 
import wego_torch
 
# Step 2: Load the quantized torchscript module generated by vitis-ai PyTorch quantizer.
model_path = <quantized_torchscript_model_path>
mod = torch.jit.load(model_path)
 
# Step 3: Create an optimized TorchScript module through WeGO-Torch's API.
wego_mod = wego_torch.compile(mod,
  wego_torch.CompileOptions(
  inputs_meta = [ wego_torch.InputMeta(torch.float, [1, 3, 224, 224]) ]
  )
)
 
# Step 4: Run inference using the optmized TorchScript module.
result = wego_mod(input)