Introduction
ChainerはPythonで動きます。
学習はPythonで良くてもシステムに組み込む際にPythonは聊か都合が悪いです。
なので、学習結果であるモデルファイルをPython以外の言語で扱えるように、共通データフォーマットである ONNX (Open Neural Network Exchange) に変換してみます。
How to
シンプルなMNISTのサンプルで生成されるモデルファイルを変換してみます。
まずはChainerの環境を構築。Windows上の仮想環境を想定。
環境構築
を参考にし、下記のコマンドを実行します。
1  | > python -m pip install --upgrade pip  | 
インストール後はCUDAを認識しているかを確認します。
1  | > python -c "import chainer; chainer.print_runtime_info()"  | 
学習と変換
ソースをクローンし、train_mnist.pyを修正します。
1  | > git clone https://github.com/chainer/chainer  | 
修正前はモデルファイルを出力しないためです。
修正は下記2箇所。
箇所1
1  | #!/usr/bin/env python  | 
箇所2
1  | if args.resume:  | 
下記を実行します。
1  | > python train_mnist.py --gpu 0  | 
学習の結果、result\mnist.modelとresultmnist.onnxが出力されています。
