Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Machine Learning Experiment Tips
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shintaro Shiba
June 01, 2020
Technology
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Machine Learning Experiment Tips
Tips for more productive machine learning experiments
Shintaro Shiba
June 01, 2020
More Decks by Shintaro Shiba
See All by Shintaro Shiba
3D study group 201902: Event-based vision
shiba24
0
310
Sparse and Dense Data with CNNs: Depth Completion and Semantic Segmentation
shiba24
0
420
ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst
shiba24
0
810
Probabilistic Robotics chap 6-7
shiba24
0
640
Probabilistic Robotics chap 1-5
shiba24
0
490
Other Decks in Technology
See All in Technology
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
300
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
180
Local CI × GitHub Actions
gogutan
2
190
Refining Active Record
shugo
0
150
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
340
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
0
420
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
450
Optunaの最新リリースv5.0について
pfn
PRO
0
120
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The SEO identity crisis: Don't let AI make you average
varn
0
590
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
How to train your dragon (web standard)
notwaldorf
96
6.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
BBQ
matthewcrist
90
10k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Faster Mobile Websites
deanohume
310
32k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Transcript
個⼈開発のための 機械学習実験効率化tips By a Machine Learning software engineer Shintaro Shiba
動機 機械学習(だけに限らないが)の実装・実験は • ⾊々な実験条件の⽐較やコードのバージョン管理が⼤変 • 前処理も複雑になりがち • 特に3D系では、Point Cloudを扱ったりする際の可視化、時刻の同期、Pose周りの 問題などもあり⼀層複雑でデバッグが⼤変
• 実験スクリプトのボトルネックはGPUメモリへのコピーなのか?GPUな のか? データローダなのか?問題 • データが⼤量で、デバッグに時間がかかる問題 • tensorboard重すぎ問題、いちいちリモートサーバー⾏きたくない問題 • 可視化⽤のデータの保存先やネーミング問題 ソフトウェアエンジニア的な観点から効率化ツールを組み合わせ、 個⼈として可能な限り⾼速に開発する
Contents • jupyterを使⽤した探索的データ解析とデバッグ • Gitlabを使⽤した⾃動ユニットテスト • W&Bを使⽤した機械学習実験管理
jupyterを使⽤した探索的データ解析とデ バッグ • (ポピュラーだが)jupyterはデータ解析やデバッグには便利 • 例えばデータの統計量をみたい • 例えば複数のデータの時間的な同期を確認する • ここでのTipsは
• ⾃分の書いた関数をきちんとimportして使う • Autoreloadを使えば.pyファイル内の修正がすぐに反映される(参考) • ファイル名は(⻑くてもいいので)わかりやすいものにしておくこと • 不要なcellはガンガン消すこと(将来⾒たくなくなる)
Gitlabを使⽤した⾃動ユニットテスト (そもそも)ユニットテストを書く、1つでも良い • その実験で、「バグっていたら致命的な関数」は何か? • テスト書くの⾯倒… • →実際は書いてみると15分くらいで書ける • 最悪assertを埋め込むだけでも良い
• (あと書いたことがある⼈は就職に有利) 実装が難しい 実装が簡単 影響が致命的 影響が軽微 ここだけでも やっておく
Gitlabを使⽤した⾃動ユニットテスト テスト⽤の軽量データセットを⾃分で作成する • 本データと同じ形式にしておく • 例えば画像なら、ランダムに集めた10枚だけ • 例えばpickleやarrayが保存されているファイルなら、短くサンプリング • これらの軽量なテスト⽤データだけはgit管理下に⼊れてしまう
• 数枚程度の画像ならCPUで⼗分テスト可能になる • ちょっと⾯倒だが、実際は20分くらいあればできる
Gitlabを使⽤した⾃動ユニットテスト テスト環境等を定義する 右のファイルをコピペして保存 最終的に下のような形になる
Gitlabを使⽤した⾃動ユニットテスト Gitlabを使⽤して⾃動でテストされるようにする • 最初からGitlabのみを使⽤しても良い • Githubを使⽤したい場合には、GitlabでCI/CD⽤のProjectを作成できる: Githubへのpushによって⾃動でCI/CDが回る
W&Bを使⽤した機械学習実験管理 • デモします(公式docを読んでね) • 個⼈利⽤・アカデミック利⽤は無料(100GBまで) • 始め⽅ • Web経由の登録 https://app.wandb.ai/
と • pip install wandb • できること • Argparseの引数全部まとめて記録、Commit IDの記録 • Yamlで定義されたHyper parameter記録、結果⽐較 • モデルの重みの可視化 • CPU/GPU使⽤率モニタリング、モデルの重み等の可視化 • 画像、点群、matplotlibのplotの記録と可視化・あとでのダウンロード • Hyper parameter sweep
スマートフォン・Slack連携 • W&Bはそもそもスマホから結果を確認可能 • 地味だが、ssh不要、PCさえ不要なのは嬉しい • W&Bから、実験の終了時(成功or失敗)に slackを⾶ばす • GitlabからもPipelineの通知をslackに⾶ばす