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
深層学習学習中
Search
Yuichi Sato
February 17, 2022
Programming
51
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
深層学習学習中
Yuichi Sato
February 17, 2022
More Decks by Yuichi Sato
See All by Yuichi Sato
深層学習はじめました
satoyuichi
0
56
瞑想アプリ
satoyuichi
0
52
SDF を作りたかった
satoyuichi
0
540
初めての iPhone ネイティブアプリ
satoyuichi
0
69
キャンフェスにゲームを出そう -StruckOut 編-
satoyuichi
0
32
ミクちゃんが歌ったら 家に帰ろう
satoyuichi
0
24
体温記録送信アプリ
satoyuichi
0
32
コロナ横目にバージョンアップ
satoyuichi
0
82
本日のシェーダー芸
satoyuichi
1
790
Other Decks in Programming
See All in Programming
源内ハンズオン概要編
hideg
0
200
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
560
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
350
FastAPI の並行処理モデルを完全に理解する
hoto17296
6
2.2k
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
450
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
170
FDEが実現するAI駆動経営の現在地
gonta
2
290
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
120
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
230
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
160
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
210
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
280
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
What's in a price? How to price your products and services
michaelherold
247
13k
First, design no harm
axbom
PRO
2
1.3k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
350
Side Projects
sachag
455
43k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
550
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Navigating Team Friction
lara
192
16k
How to make the Groovebox
asonas
2
2.3k
Scaling GitHub
holman
464
140k
Transcript
深層学習学習中 2022年2月17日 佐藤雄一
自己紹介 名前:佐藤 雄一(ゆーいち) 好物:エレキギター、(初期)仏教、Smalltalk Twitter:@satoyuichi80 趣味:読書、ギター練習、映画鑑賞 呪術廻戦24話コンプリート!
進捗 • 環境構築 • ニューラルネットワーク(NN)モデルの構築 • データの用意 • 学習 ◦
逐次読み込みによる省メモリ化 ◦ 前処理 ▪ ファイルリストの作成 ▪ 画像のデコード ◦ 学習 ← イマココ • 推論 • モデルの評価
逐次読み込みによる省メモリ化 参考にしたプログラムでは全データを読み込んでから処理をするようになっていたが、 メモリを圧迫する画像データは必要な画像のみを逐次ロードして使うようにした。 *一般的にファイルのI/O(入出力)は遅いので、(複数回使うファイルは)できるだけメ モリに乗せて処理をした方がパフォーマンス的には有利
前処理
ファイルリストの作成 動的にディレクトリを掘ってファイルのリスティングをしようと思ったけど、面倒臭かった のであらかじめ JSON 形式にして持ってしまうことにした。今回は awk というプログラミ ング言語を使用(テキストファイルを行ごとに処理するのが得意)。 $ ls
| cat 000005.xml 000007.xml 000009.xml 000012.xml 000016.xml 000017.xml 000019.xml … awk スクリプト { "names": [ "000005.xml", "000007.xml", "000009.xml", "000012.xml", "000016.xml", …. ]} $ ls | awk 'BEGIN{printf("{\"names\": [\n")} {printf("\"%s\",\n", $1)} END{printf("]}\n")}' > annotations.json
画像のデコード 通常、画像は JPEG 形式などにエンコードされているので生ピクセルデータにデコード してやる必要がある。ブラウザでデコードはどうするのか迷ったけど、以下のようにブラ ウザに任せる。(感覚的にちょっと回りくどい?) 1. HTMLにcanvas要素を配置する 2. canvas
要素から2Dコンテキストを取得する 3. 取得したコンテキストを使って画像を描画する(ここでデコードされる) 4. ピクセルデータを読み出す 5. 学習データとする
今回の闇 学習が進まない… • GPU(WebGL)で処理ができない ◦ M1 Mac だとシェーダーのコンパイルが通らない ← そもそも
WebGL コンテキスト無効? ◦ Intel Mac だと PC ごと落ちる • CPU だと終わらない(きちんと動いているのかも現時点で不明)
デモ
今後の予定 • 学習を成功させる • 推論、モデル評価をする • 他の環境(Unity とか)で生成したモデルを使う
参考 Tensorflow.js: https://www.tensorflow.org/js?hl=ja tfjs-YOLOv4-tiny: https://github.com/satoyuichi/tfjs-YOLOv4-tiny