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
41
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
50
瞑想アプリ
satoyuichi
0
50
SDF を作りたかった
satoyuichi
0
530
初めての iPhone ネイティブアプリ
satoyuichi
0
64
キャンフェスにゲームを出そう -StruckOut 編-
satoyuichi
0
27
ミクちゃんが歌ったら 家に帰ろう
satoyuichi
0
20
体温記録送信アプリ
satoyuichi
0
26
コロナ横目にバージョンアップ
satoyuichi
0
77
本日のシェーダー芸
satoyuichi
1
770
Other Decks in Programming
See All in Programming
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.2k
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.6k
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
RTSPクライアントを自作してみた話
simotin13
0
510
OSもどきOS
arkw
0
470
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.9k
Oxcを導入して開発体験が向上した話
yug1224
4
290
A2UI という光を覗いてみる
satohjohn
1
110
Lessons from Spec-Driven Development
simas
PRO
0
140
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.2k
net-httpのHTTP/2対応について
naruse
0
450
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
140
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Done Done
chrislema
186
16k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
600
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
Embracing the Ebb and Flow
colly
88
5.1k
Designing Experiences People Love
moore
143
24k
Designing for Performance
lara
611
70k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Skip the Path - Find Your Career Trail
mkilby
1
140
Information Architects: The Missing Link in Design Systems
soysaucechin
0
960
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