Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Red Chainerを なぜ作って今後どうするのか
hatappi
November 17, 2018
Technology
2
1.4k
Red Chainerを なぜ作って今後どうするのか
#RubyData_tokyo
RubyData Tokyo Meetup
https://speee.connpass.com/event/105127/
hatappi
November 17, 2018
Tweet
Share
More Decks by hatappi
See All by hatappi
hatappi
0
300
hatappi
2
1.1k
hatappi
0
90
hatappi
2
240
hatappi
1
570
hatappi
0
760
hatappi
1
1.2k
hatappi
1
360
hatappi
1
1.2k
Other Decks in Technology
See All in Technology
adarapata
2
520
i35_267
0
280
hirosys
0
150
papix
0
290
kraj
0
5.2k
apcom
1
540
nozomiito
0
330
youri
0
110
shoken
0
200
yunon_phys
1
480
saik1010
1
580
miura55
0
120
Featured
See All Featured
lara
590
61k
garrettdimon
287
110k
erikaheidi
13
4.2k
aarron
257
36k
destraynor
146
19k
rasmusluckow
318
18k
maggiecrowley
8
440
malarkey
192
8.6k
mza
80
4.1k
jrom
114
7.1k
brettharned
93
3k
notwaldorf
13
1.6k
Transcript
Red Chainerを なぜ作って今後どうするのか hatappi @RubyData Tokyo Meetup
⾃⼰紹介 • Yusaku Hatanaka (@hatappi) • Speee, Inc • Red
Data Tools のメンバー • Ruby, Go, TypeScript, etc. • ḦΓେ౾͕͖
今⽇のゴール • Red Chainerがなんなのか知ってもらう • へぇ〜って思ってもらう
こんなこと話します • Red Chainerとは? • Red Chainerの歴史 • 今後やりたいこと •
まとめ
Red Chainerとは?
Red Chainerとは? • Rubyのための深層学習フレームワーク • Red Data Tools の1プロジェクト •
red-data-tools/red-chainer • Python製の深層学習フレームワークのChainerを⼿動 Rubyへポーティング • 現在はChainerのv2系がベース
Red Chainerの特徴 • Define By Run • Rubyで書くことが出来る • インストールが簡単
`gem install red-chainer`
Red Chainerの特徴 • Define By Run • Rubyで書くことが出来る • インストールが簡単
`gem install red-chainer`
• Define And Run • 計算グラフを静的に扱う • Define By Run
• 計算グラフを動的に扱う
Define And Run IUUQTXXXZPVUVCFDPNXBUDI W85/)UDTDRP
Define By Run IUUQTXXXZPVUVCFDPNXBUDI W85/)UDTDRP
Red Chainerの歴史
Red Chainerの歴史 2017/08 2017/10 2018/05 現在
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first commit
きっかけ 2017/08 2017/10 2018/05 現在 • OSS Gate Workshopを通じて須藤さん(@ktou)と出会う •
Red Data Toolsに参加 • なぜ参加したかは覚えてない たしか⾯⽩そう!と思ったからだった気がする • Red Data ToolsでRed Chainerを作りはじめる • なぜ作ろうと思ったかは覚えていない たしか⾯⽩そう!と思ったからだった気がする
どうやって移⾏していったか 2017/08 2017/10 2018/05 現在
どうやって移⾏していったか 2017/08 2017/10 2018/05 現在 気合の作業! でもやったことないことだし 楽しかった
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first commit
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first release
出来るようになったこと 2017/08 2017/10 2018/05 現在 • Multi Layer Perceptron(MLP)に必要な最低限の APIをサポート
• サンプルとしてMNISTを⽤意
Multi Layer Perceptron 2017/08 2017/10 2018/05 現在
Multi Layer Perceptron 2017/08 2017/10 2018/05 現在
MNIST 2017/08 2017/10 2018/05 現在
MNIST 2017/08 2017/10 2018/05 現在
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 first release
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 畳み込み演算のサポート!
出来るようになったこと 2017/08 2017/10 2018/05 現在 • ΈࠐΈԋࢉΛαϙʔτ • ଞʹBatchNormalization, Pooling,
etc.. • CIFAR-10, 100ͷαϯϓϧͷՃ • σʔλͷऔಘʹ red-data-tools/red-datasets
VGG 2017/08 2017/10 2018/05 現在
VGG 2017/08 2017/10 2018/05 現在
ResNet18 2017/08 2017/10 2018/05 現在
ResNet18 2017/08 2017/10 2018/05 現在
例えば 2017/08 2017/10 2018/05 現在 Red Chainer x
例えば 2017/08 2017/10 2018/05 現在 All Ruby!!
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 畳み込み演算のサポート!
Red Chainerの歴史 2017/08 2017/10 2018/05 現在 Chainer 3系への対応
Chainer 3系の対応 2017/08 2017/10 2018/05 現在 • ⼆階以上の微分をサポート • 内部のAPIの構造も変わっている
今年中には終わるはず
短い期間で⾒るとあまり 進んでないように⾒える
⻑い⽬で⾒ると ちゃんと進んでる
今後やりたいこと
今後やりたいこと • 本家Chainerは追随していく • 今までのようにコードをそのままポーティングすると いうよりは内部のAPIなどのインターフェスなどを参考 にしていくイメージ • ONNX対応をやっていきたい
ONNX https://onnx.ai/ • Open Neural Network Exchangeの略 • 深層学習のモデルをフレームワーク間で交換するための フォーマット
• 例えばChainerで学習したモデルをMXNetで取り込んで 使うことが出来る • 1つのファイルにモデル定義とパラメータが保存されている
なぜONNX対応をするのか • なんか⾯⽩そう • 今すぐRed Chainerが実⽤化できるかでいうと厳しい • 仮に実⽤化できたとしても既存の資産がある • 直近はChainerで学習したモデルをRed
Chainerで使える ようにしたい
まとめ • Red Chainerの歴史を紹介しました • ちょっとずつやるので、興味ある⼈がいたらTwitterでも この後でも気軽に話しかけてください! 僕も分からないことだらけなので⼀緒にワイワイやりま しょう!! •
今後もおもしろドリブンで開発したい