モデルの変換と制限 #
ActDK 上では深層学習モデルは nnoir 形式で扱われます。 nnoir ファイルの作成のために以下のツールを提供しています。
- onnx2nnoir (onnx から nnoir)
- nnoir-chainer (chainer から nnoir)
これらは以下のコマンドによりインストールすることができます。 onnx2nnoir については ActDK のダウンロード からダウンロードできる zip ファイルにも含まれています。
$ pip3 install nnoir-onnx
$ pip3 install nnoir-chainer
詳細はそれぞれのマニュアルをご覧ください。
- nnoir-onnx: https://pypi.org/project/nnoir-onnx
- nnoir-chainer: https://pypi.org/project/nnoir-chainer
Restriction #
深層学習モデルを変換する際に下記のような制約があります。
- 配列要素の制限
- 多次元配列の次元数は 16 以下
- 各次元の要素数は 2047 まで
- nnoir ファイルへの変換
nnoir-onnx
- サポートされるオペレータ
- https://pypi.org/project/nnoir-onnx/ の"Supported ONNX Operators"参照
- サポートされるオペレータ
nnoir-chainer
- サポートされる層
- https://pypi.org/project/nnoir-chainer/ の"These layers supported by nnoir-chainer exporter." 以下参照
- サポートされる層
- 変換できない場合は ActDK に同梱されている onnigiri, onnion を使用してください。
- nnoir ファイルから c ランタイムへの変換
nnoir-onnx
で変換可能なすべての層に対応- AveragePoll, MaxPool, Convolution 層は 2D のみサポート
- LRN の利用は非推奨
nnoir-chainer
の利用時はresize_image
に対応