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が出力されています。