SlideShare uma empresa Scribd logo
1 de 19
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
Chainerを使ってプロダクション環境上で推論するには

Mais conteúdo relacionado

Semelhante a Chainerを使ってプロダクション環境上で推論するには

Semelhante a Chainerを使ってプロダクション環境上で推論するには (20)

20180221 chainer on_colaboratory_at_gdcjp
20180221 chainer on_colaboratory_at_gdcjp20180221 chainer on_colaboratory_at_gdcjp
20180221 chainer on_colaboratory_at_gdcjp
 
Spark streamingを使用したtwitter解析によるレコメンドサービス例
Spark streamingを使用したtwitter解析によるレコメンドサービス例Spark streamingを使用したtwitter解析によるレコメンドサービス例
Spark streamingを使用したtwitter解析によるレコメンドサービス例
 
20180728 chainer on_colaboratory
20180728 chainer on_colaboratory20180728 chainer on_colaboratory
20180728 chainer on_colaboratory
 
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDSIbis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
 
PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側
 
Vue Fes Japan Online 2022 スポンサーセッション
Vue Fes Japan Online 2022 スポンサーセッションVue Fes Japan Online 2022 スポンサーセッション
Vue Fes Japan Online 2022 スポンサーセッション
 
進化するChainer
進化するChainer進化するChainer
進化するChainer
 
Fun tech14-alibaba cloud api gateway-swagger
Fun tech14-alibaba cloud api gateway-swaggerFun tech14-alibaba cloud api gateway-swagger
Fun tech14-alibaba cloud api gateway-swagger
 
20190216 chainer handson_cource02
20190216 chainer handson_cource0220190216 chainer handson_cource02
20190216 chainer handson_cource02
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
Azure MediaServices 最新情報160924
Azure MediaServices 最新情報160924Azure MediaServices 最新情報160924
Azure MediaServices 最新情報160924
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 
2015 10 24_spark_osc15tk
2015 10 24_spark_osc15tk2015 10 24_spark_osc15tk
2015 10 24_spark_osc15tk
 
xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件
xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件
xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件
 
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
 
研究室のSVNをGitに移行した話
研究室のSVNをGitに移行した話研究室のSVNをGitに移行した話
研究室のSVNをGitに移行した話
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
 
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
 
高速!Clojure Web 開発入門
高速!Clojure Web 開発入門高速!Clojure Web 開発入門
高速!Clojure Web 開発入門
 
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleアプリケーションのCI/CD
MuleアプリケーションのCI/CD
 

Mais de Keisuke Umezawa

Mais de Keisuke Umezawa (13)

C2CマーケットプレイスでのMLの応用
C2CマーケットプレイスでのMLの応用C2CマーケットプレイスでのMLの応用
C2CマーケットプレイスでのMLの応用
 
20190125 Minecraftで深層強化学習 ハンズオン
20190125 Minecraftで深層強化学習 ハンズオン20190125 Minecraftで深層強化学習 ハンズオン
20190125 Minecraftで深層強化学習 ハンズオン
 
20181215 Chainer User Group 「chug」のご紹介
20181215 Chainer User Group 「chug」のご紹介20181215 Chainer User Group 「chug」のご紹介
20181215 Chainer User Group 「chug」のご紹介
 
20181214 Minecraftで深層強化学習 ハンズオン
20181214 Minecraftで深層強化学習 ハンズオン 20181214 Minecraftで深層強化学習 ハンズオン
20181214 Minecraftで深層強化学習 ハンズオン
 
20181201 chainer handson_cource01
20181201 chainer handson_cource0120181201 chainer handson_cource01
20181201 chainer handson_cource01
 
20180727 Deep Learningの未来と
Chainerの貢献
20180727 Deep Learningの未来と
Chainerの貢献20180727 Deep Learningの未来と
Chainerの貢献
20180727 Deep Learningの未来と
Chainerの貢献
 
大企業 vs ベンチャー
大企業 vs ベンチャー大企業 vs ベンチャー
大企業 vs ベンチャー
 
Chainer User Group 「chug」
Chainer User Group 「chug」 Chainer User Group 「chug」
Chainer User Group 「chug」
 
Start to Contribute to Chainer!
Start to Contribute to Chainer!Start to Contribute to Chainer!
Start to Contribute to Chainer!
 
プログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flowプログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flow
 
Rustを支える技術
Rustを支える技術Rustを支える技術
Rustを支える技術
 
Neural Models for Information Retrieval
Neural Models for Information RetrievalNeural Models for Information Retrieval
Neural Models for Information Retrieval
 
2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer
 

Último

Último (12)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

Chainerを使ってプロダクション環境上で推論するには