$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rustでディープラーニング
Search
Kazumasa Yamamoto
February 25, 2021
0
410
Rustでディープラーニング
Kazumasa Yamamoto
February 25, 2021
Tweet
Share
More Decks by Kazumasa Yamamoto
See All by Kazumasa Yamamoto
ユニークビジョンの Rust 活用事例
fill9120
2
1.6k
Rust & AWS X-Ray による分散トレーシングの実現
fill9120
0
2.8k
Rust製プロダクトを 3年以上運用して得たノウハウ
fill9120
0
960
Messaging APIを駆使した ChatGPT ボットのUX改善
fill9120
0
360
Rust を開発言語として採用してからの取り組み
fill9120
1
1.8k
ストラクチャードコミュニケーション
fill9120
0
120
Cloudflare PagesにVue.jsアプリをデプロイしてみた
fill9120
0
930
Rustで定数式を扱う
fill9120
0
440
LINE BotとLIFFを使って謎解きアプリを作った話
fill9120
0
690
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Documentation Writing (for coders)
carmenintech
76
5.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
The Pragmatic Product Professional
lauravandoore
36
7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
For a Future-Friendly Web
brad_frost
180
10k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Become a Pro
speakerdeck
PRO
30
5.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Building an army of robots
kneath
306
46k
Transcript
Rustでディープラーニング ユニークビジョン株式会社 山本 一将
自己紹介 2 ⚫ 名前:山本 一将(@kyamamoto9120) ⚫ 所属:ユニークビジョン株式会社 ⚫ 言語:C++, Rust,
Python, Ruby ⚫ 趣味:将棋、キャンプ、DIY、野球観戦 ⚫ 実績:2015年 世界コンピュータ将棋選手権9位
はじめに 3 ① このスライドはconnpassにて公開します ② 実際の利用方法はQiitaに書きました
ディープラーニングの背景 4 ⚫ 学習・推論ともにPythonでの例がほとんど • ライブラリ・プラットフォームが充実している • 情報も多く、初学者にも優しい ⚫ 一方、C++は使われるケースがある
• TensorFlow Servingのような推論環境 • 囲碁、将棋のようなゲームAI
Rustにおけるディープラーニング 5 ⚫ パフォーマンスが要求される場面で使いたい • C++は辛すぎる ⚫ 有名フレームワークのRustバインディングはある! • 情報は皆無
• ドキュメントも乏しい
有名フレームワークのRustバインディング 6 TensorFlow PyTorch tensorflow crate tch 公式 提供元 非公式
2.9k Star 942 ◦ GPUサポート ◦ ◦ モデル構築 ◦ ◦ 学習 ◦ ◦ Python製モデルで推論 ?
それぞれ使ってみた感想 7 ⚫ 環境構築 • CPUでちょっと使ってみるだけならtchが簡単 • 本格的に使う場合は差はない ⚫ モデル構築
• tchはPythonと比較的近いインタフェースで構築可能 • tensorflowは苦行 • 学習をRustでする場合でもモデル構築はPythonで行うべき
それぞれ使ってみた感想 8 ⚫ 学習 • tchはデータセットを扱う便利関数がある • tchには転移学習のサンプルもあって実用的 • tensorflowはサンプルだけでは何とも言えない
⚫ 事前学習済みモデルでの推論 • tensorflowはPythonで学習した重みを利用可能 • tchはPythonで学習した重みが使えるかは不明 • サンプルではOCaml版のモデルを使っている
まとめ 9 ⚫ Rustでもディープラーニングは可能 ⚫ ディープラーニング初学者が試しに使うならtch! ⚫ 推論のみ高速化するならtensorflow! ⚫ C++の代替として普及して欲しい
ありがとうございました