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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
ふつうのFeature Flag実践入門
irof
7
3.6k
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
160
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
170
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
Webフレームワークの ベンチマークについて
yusukebe
0
140
LLM Plugin for Node-REDの利用方法と開発について
404background
0
160
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
140
The NotImplementedError Problem in Ruby
koic
1
630
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
660
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.5k
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
240
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
Featured
See All Featured
Paper Plane
katiecoart
PRO
1
51k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
エンジニアに許された特別な時間の終わり
watany
107
250k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Discover your Explorer Soul
emna__ayadi
2
1.1k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Cost Of JavaScript in 2023
addyosmani
55
10k
The Limits of Empathy - UXLibs8
cassininazir
1
350
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
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