狠狠撸

狠狠撸Share a Scribd company logo
Chainerを使ってプロダクション環境上で
推論するには
ML@Loft #9
Preferred Networks / Chainer Evangelist
Keisuke Umezawa
自己紹介
2
? 梅澤 慶介
? Engineering Manager @mercari
? Chainer Evangelist @Preferred Networks
? Twitter:@kumezawa_
? GitHub:@keisuke-umezawa
Agenda
1. Chainer/CuPyの紹介
2. プロダクション环境上の推论
3
Agenda
1. Chainer/CuPyの紹介
2. プロダクション环境上の推论
4
Chainerの開発終了の発表
5
https://preferred.jp/ja/news/pr20191205/
Chainerの開発中止
● 12/5にChainerの開発終了を発表
● Chainerファミリー(ChainerCV, Chainer Chemistry, ChainerUI, ChainerRL)も終了
● CuPyは引き続き開発を継続
6
https://chainer.org/announcement/2019/12/05/released-v7-ja.html
Agenda
1. Chainer → PyTorchへのマイグレーション
2. プロダクション环境上の推论
7
Chainer → PyTorchへのマイグレーション
PFNによるChainerからPyTorch移行のサポート
9
● 移行サポートドキュメント
○ https://chainer.github.io/migration-guide/
● 移行サポートライブラリ
○ chainer-pytorch-migration (cpm):
https://github.com/chainer/chainer-pytorch-migration
Chainer と PyTorchの
モジュールの対応関係
10
● Optimizerまでの役割は、
PyTorchが対応している
● Updater?Trainerの役割は、
Igniteが対応している
移行手順
11
● 以下の手順で移行することをおすすめします
1. 訓練用スクリプト(optimizer / updater / evaluator ...)
● このとき、cpm.LinkAsTorchModelでモデルをPyTorch用に変換する必要がある
1. Dataset / preprocessing
2. モデル定義
移行例
12
● Qiitaに実際に移行した記事を書いてみましたので参照下さい
https://qiita.com/keisuke-umezawa/items/35baf525794ee89875e1
プロダクション环境上の推论
Chainerをプロダクションで使うときの選択肢
14
1. Chainer形式でモデルを保存し、Chainerで推論する
2. ONNX形式でモデルを保存し、ONNX Runtime等で推論する
3. ...
ONNX とは
15
? Open Neural Network Exchangeの略で、Deep Learningモデ
ルを表現するための共通フォーマット
? 共通フォーマットでモデルの保存?読み込みができるので、
異なるフレームワーク?ライブラリで実行可能になる
Python
C#
C/C++
今後どちらで実装するべきか
16
1. Chainer形式でモデルを保存し、Chainerで推論する
2. ONNX形式でモデルを保存し、ONNX Runtime等で推論する
3. ...
ONNX形式を採用するpros/cons
17
? pros
? 推論速度が速い
? python以外の言語でも実行できる
? モデルを変更しても、実装を変更する必要がない
? フレームワークを変更しても、実装を変更する必要がない
? cons
? 別途onnx runtime等のライブラリを使う必要がある
詳しい資料
18
? onnx-chainer
? https://docs.chainer.org/en/stable/onnx_chainer/introduction/index.html
#installation
? Qiita記事:機械学習モデルのServingとONNX Runtime Serverについて
? https://qiita.com/lain21/items/4d68ee30b7fd497453d4
颁丑补颈苍别谤を使ってプロダクション环境上で推论するには

More Related Content

颁丑补颈苍别谤を使ってプロダクション环境上で推论するには