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
オフィスの前にある信号が変わる タイミング教えてくれるWebページ 作ろうとしたよ with ...
Search
Takayuki Sakai
January 15, 2018
Programming
1.3k
0
Share
オフィスの前にある信号が変わる タイミング教えてくれるWebページ 作ろうとしたよ with DeepLearning
2017年末に社内で開かれたハッカソンの発表資料を社外向けに少し修正したものです。
Takayuki Sakai
January 15, 2018
More Decks by Takayuki Sakai
See All by Takayuki Sakai
cats in practice
kaky0922
1
600
Scalaの(俺的)イケてる ライブラリ紹介LT
kaky0922
0
910
TDでHivemallを半年使ってみたノウハウ / Hivemall Meetup 20160908
kaky0922
1
3.2k
アドテク企業の本番環境からTD使ってみた / Treasure Data Tech Talk 20160425
kaky0922
3
9.5k
Other Decks in Programming
See All in Programming
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
350
AI 開発合宿を通して得た学び
niftycorp
PRO
0
180
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.5k
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
280
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
880
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
3
2.5k
Feature Toggle は捨てやすく使おう
gennei
0
390
How to stabilize UI tests using XCTest
akkeylab
0
150
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
720
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
450
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
500
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
[SF Ruby Conf 2025] Rails X
palkan
2
870
The Curious Case for Waylosing
cassininazir
0
280
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Utilizing Notion as your number one productivity tool
mfonobong
4
280
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
Faster Mobile Websites
deanohume
310
31k
Transcript
ΦϑΟεͷલʹ͋Δ৴߸͕มΘΔ λΠϛϯάڭ͑ͯ͘ΕΔ Webϖʔδ ࡞ͬͨΑ࡞Ζ͏ͱͨ͠Α Hackday2017 Team4 ञҪ ਸࢸ ※Hackday2017ͱɺ౦ূҰ෦্اۀͷגࣜձࣾϑΝϯίϛϡχέʔγϣϯζࣾͰͷ Ջͳ༨༟ͷ͋Δ࣌ʹߦΘΕͨνʔϜ੍ϋοΧιϯͷ͜ͱͰ͢
Ռ ͜Μͳײ͡
ͳͥ࡞͔ͬͨ - ΦϑΟεͷલͷาߦऀ৴߸ͷͪ࣌ؒ݁ߏ ͍ - ੨ʹͳΔ·Ͱͷ͕͔࣌ؒΕɺ੮Λཱͭ λΠϛϯά͔Δͣ
ΈΜͳϋοϐʔ ؒҧ͍ͳ͍ʂ - ΦϑΟεͷલͷาߦऀ৴߸ͷͪ࣌ؒ݁ߏ ͍ - ੨ʹͳΔ·Ͱͷ͕͔࣌ؒΕɺ੮Λཱͭ λΠϛϯά͔Δͣ
֓ཁ - ৴߸ͷมΘΔपظ༧Ίଌ͓ͬͯ͘ - ͨ·ʹը૾ೝࣝͰ੨ΓସΘΓ λΠϛϯάΛิਖ਼͢Δ
पظཧαʔό पظऔಘ ৴߸ͷ৭ ৴߸ͷपظΛཧ ੨ఆϓϩάϥϜ શମߏ ৴߸ͷը૾ࡱӨ ৴߸ͷ৭Λఆ ϒϥβ ৴߸ͷλΠϛϯάΛදࣔ
৴߸ͷ੨ೝࣝͷ ͨΊʹͬͨ͜ͱ
͜ΜͳΧϝϥͰ
͜Μͳը૾ͷ৴߸ͷ৭Λ
͜͜ʹ͋Δʢ੨ʣ
ఆ͍ͨ͠ʂ
͜͏͍͏ը૾ॲཧͱ͍͑
Deep Learning Ͱ͢ΑͶ…
ཁ݅ - WebΧϝϥͰࡱͬͨը૾Λ͏ - ҎԼېࢭ - खಈͰ৴߸ʹζʔϜ - खಈͰը૾Ճ -
ΧϝϥΛશʹݻఆ͢Δ
·ֶͣशσʔλ࡞Γ ʢ৭Μͳ͔֯ΒࡱΔ,5000ຕʣ ੨ ੨
PythonͷίʔυΛΨʔοͱॻ͍ͯ ʢ200ߦ͘Β͍ʣ … def vgg_std16_model(img_rows, img_cols): model = Sequential() model.add(ZeroPadding2D((1,
1), input_shape=(3, img_rows, img_cols))) model.add(Convolution2D(64, 3, 3, activation='relu')) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(64, 3, 3, activation='relu')) model.add(MaxPooling2D((2, 2), strides=(2, 2))) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(128, 3, 3, activation='relu'))
ֶशʂ(ŕŦŖƃ ~/hackday/python$ python3 train_and_evaluate.py 4591 train samples Start training........... Train
on 3121 samples, validate on 551 samples 10/3121 [=>..............................] - ETA: 35023s - loss: 0.5735 - acc: 0.6032
Μ…ʁ ~/hackday/python$ python3 train_and_evaluate.py 4591 train samples Start training........... Train
on 3121 samples, validate on 551 samples 10/3121 [=>..............................] - ETA: 35023s - loss: 0.5735 - acc: 0.6032
Γ࣌ؒ35023s ≒ 10࣌ؒ ~/hackday/python$ python3 train_and_evaluate.py 4591 train samples Start
training........... Train on 3121 samples, validate on 551 samples 10/3121 [=>..............................] - ETA: 35023s - loss: 0.5735 - acc: 0.6032
ʮऴΘΒͳ͍… Ͳ͏͢Ε…ʯ
ʁʮCPU͕ΒΕͨΑ͏ͩͳ…ʯ
ʮ͋ɺ͋ͳͨ…ʂʂʯ
ʮGPU͞Μʂʯ
ͬͯ͜ͱͰGPUͰ࠶ֶशʂ(ŕŦŖƃ ※AWSͷGPUΠϯελϯε͍·ͨ͠ ~/hackday/python$ python3 train_and_evaluate.py Using gpu device 0: Tesla
M60 (CNMeM is disabled, cuDNN 4007) 4591 train samples Start training........... Train on 3121 samples, validate on 551 samples 10/3121 [=>..............................] - ETA: 2714s - loss: 0.5735 - acc: 0.6032
1࣌ؒҎͰऴΘΔʂ ~/hackday/python$ python3 train_and_evaluate.py Using gpu device 0: Tesla M60
(CNMeM is disabled, cuDNN 4007) 4591 train samples Start training........... Train on 3121 samples, validate on 551 samples 10/3121 [=>..............................] - ETA: 2714s - loss: 0.5735 - acc: 0.6032
1࣌ؒޙ…
ʮ͓ɺֶशऴΘͬͯΔ…ʯ 3121/3121 [==============================] - 0s - loss: 0.0051 - acc:
1.0000 - val_loss: 0.0085 - val_acc: 1.0000
ʮਫ਼… 100%ʂʁʯ 3121/3121 [==============================] - 0s - loss: 0.0051 -
acc: 1.0000 - val_loss: 0.0085 - val_acc: 1.0000
ʮਫ਼… 100%ʂʁʯ ʮ͜ͷউෛΖͨͰʂʯ 3121/3121 [==============================] - 0s - loss: 0.0051
- acc: 1.0000 - val_loss: 0.0085 - val_acc: 1.0000
1ऴྃ
2
ʮͯ͞ϦΞϧλΠϜʹࡱͬ ͨ৴߸ͷ৭Λ༧ଌ͢Δ͔…ʯ
PCʮ੨ʂʯ ʮਖ਼ղʂʯ
PCʮʂʯ ʮ͍͢͝ʂʯ
PCʮʂʯ ʮ͋Ε…ʁʯ
PCʮ੨ʂʯ ʮΜΜΜ...ʁʯ
ʮ͍ͭ͜͠…ʯ
ʮԣஅาಓͷ্ʹਓ͕͍Δ͔Ͳ ͏͔Ͱஅ͕ͯ͠Δʂʂʂʯ
Deep Learningମೝࣝೳྗ͕ ߴ͗ͯ͢ɺਓؒͰࢥ͍͔ͭͳ͍Α͏ ͳϧʔϧΛউखʹ࡞ͬͯ͠·͏ͷͰ͢ɻ
ʮͰ͜Ε͕ࡱͬͨσʔλ ʹภΓ͕͚͋ͬͨͩ…ʯ
ʮҎԼͷΑ͏ͳը૾Λͨ͘͞Μ ࡱͬͯ࠶ֶशʂʯ - ͚ͩͲͬͯΔਓ͕͍Δࣸਅ - ੨͚ͩͲ୭ͬͯͳ͍ࣸਅ
࠶ֶशޙ…
PCʮʂʯ ʮΑ͠Α͠ʯ
PCʮ੨ʂʯ ʮ͓ʁʯ
ʮ͍ͭ͜…ʯ
ʮࠓ͜͜Λं͕ͬͯΔ͔ Ͳ͏͔Ͱఆ͕ͯ͠Δʂʯ
ҎԼ͍ͨͪͬ͜͝ʢഊʣ
݁Ռ - ࠷ऴతʹ·͊·͊ͳਫ਼ʹͳͬͨ ʢϦΞϧλΠϜը૾Ͱ90%͘Β͍ʁʣ - ͰɺࠓճͷతͷͨΊʹਫ਼ෆ - ภΓͷͳֶ͍शσʔλΛͬͱͨ͘͞Μ ࡱΕΕղܾ͢Δͣ
ݸਓతײ - Deep Learning͍͢͝ - GPU͍͢͝ - ྑֶ͍शσʔλΛ࡞ΔͷΉ͍ͣ