Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rustでディープラーニング
Search
Kazumasa Yamamoto
February 25, 2021
0
400
Rustでディープラーニング
Kazumasa Yamamoto
February 25, 2021
Tweet
Share
More Decks by Kazumasa Yamamoto
See All by Kazumasa Yamamoto
ユニークビジョンの Rust 活用事例
fill9120
2
1.5k
Rust & AWS X-Ray による分散トレーシングの実現
fill9120
0
2.7k
Rust製プロダクトを 3年以上運用して得たノウハウ
fill9120
0
950
Messaging APIを駆使した ChatGPT ボットのUX改善
fill9120
0
360
Rust を開発言語として採用してからの取り組み
fill9120
1
1.8k
ストラクチャードコミュニケーション
fill9120
0
120
Cloudflare PagesにVue.jsアプリをデプロイしてみた
fill9120
0
910
Rustで定数式を扱う
fill9120
0
430
LINE BotとLIFFを使って謎解きアプリを作った話
fill9120
0
680
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Speed Design
sergeychernyshev
32
1.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Language of Interfaces
destraynor
162
25k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Bash Introduction
62gerente
615
210k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Side Projects
sachag
455
43k
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++の代替として普及して欲しい
ありがとうございました