PyTorch RCAN モデルの変換¶
危険
ここで説明されているコードは非推奨になりました。従来のソリューションの適用を避けるため使用しないでください。下位互換性を確保するためにしばらく保持されますが、最新のアプリケーションでは使用してはなりません。
このガイドでは、非推奨となった変換方法について説明します。新しい推奨方法に関するガイドは、Python チュートリアルに記載されています。
RCAN : 非常に深い残留チャネル・アテンション・ネットワークを使用した画像超解像度
モデルをダウンロードして ONNX に変換¶
事前トレーニングされたモデルをダウンロードするか、モデルを自身でトレーニングするには、RCAN モデル・リポジトリーの手順を参照してください。最初に、モデルを ONNX 形式に変換します。モデル・リポジトリーのルート・ディレクトリーに次の内容のスクリプトを作成して実行します。
from argparse import Namespace
import torch
from RCAN_TestCode.code.model.rcan import RCAN
config = Namespace(n_feats=64, n_resblocks=4, n_resgroups=2, reduction=16, scale=[2], data_train='DIV2K', res_scale=1,
n_colors=3, rgb_range=255)
net = RCAN(config)
net.eval()
dummy_input = torch.randn(1, 3, 360, 640)
torch.onnx.export(net, dummy_input, 'RCAN.onnx')
このスクリプトは ONNX モデルファイル RCAN.onnx
を生成します。モデル・パラメーター (n_resblocks
、n_resgroups
など) と値の詳細については、モデル・リポジトリーで見つけることができます。モデル変換は commit-SHA: 3339ebc59519c3bb2b5719b87dd36515ec7f3ba7
を使用してテストされました。
ONNX RCAN モデルから IR への変換¶
mo --input_model RCAN.onnx