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
Deep Learningライブラリ 色々つかってみた感想まとめ
Search
Takanori Ogata
April 17, 2016
Technology
17k
18
Share
Deep Learningライブラリ 色々つかってみた感想まとめ
Takanori Ogata
April 17, 2016
More Decks by Takanori Ogata
See All by Takanori Ogata
ACCELStarsピッチ資料
conta
0
130
Convolutional Pose Machines
conta
0
1.4k
Other Decks in Technology
See All in Technology
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
150
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
27k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
2.1k
Move Fast and Break Things: 10 in 20
ramimac
0
110
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
420
OCI技術資料 : 証明書サービス概要
ocise
1
7.2k
FlutterでPiP再生を実装した話
s9a17
0
240
推し活エージェント
yuntan_t
1
330
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
200
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
180
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
320
JSTQB Expert Levelシラバス「テストマネジメント」日本語版のご紹介
ymty
0
110
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
92
ラッコキーワード サービス紹介資料
rakko
1
2.9M
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
WCS-LA-2024
lcolladotor
0
510
The SEO identity crisis: Don't let AI make you average
varn
0
430
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
210
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
Deep LearningϥΠϒϥϦ ৭ʑ͔ͭͬͯΈͨײ·ͱΊ @conta_
Self Introduction ॹํɹول (twitter: @conta_) CTO@ABEJA, Inc. Computer Visionͱ͔ɺMachine LearningΛͬͨ
ϓϩμΫτ։ൃΛ͍ͬͯ·͢ɻ
Deep Learning Library?
None
ʊਓਓਓਓਓਓਓਓਓʊ ʼɹଟ͗ͯͭ͢Β͍ɹʻ ʉY^Y^Y^Y^Y^Y^Y^Yʉ
Dive into Deep Learning
ˎײ͡ํʹݸਓ͕ࠩ͋Γ·͢
ࠓճհ͢ΔϥΠϒϥϦ
Caffe Caffe: UC Berkleyͷਓ͕࡞ͬͯΔɻDeepLearningք۾Ͱ͔ͳΓฮͳϥΠϒϥϦͰɺ ޭେ͖͍ ݴޠ: ɾCoreC++ɻPython, MatlabͷWrapper͕͋Δ ಛ: ɾجຊతʹProtocol
BufferͰωοτϫʔΫΛهड़
▪͍͍ͱ͜Ζ(ݸਓతײ) ɾModel ZooʹֶशࡁΈϞσϧ͕ͨ͘͞Μެ։͞ΕͯΔ ʢطʹCVPR2016ͷจͷϞσϧެ։͞ΕͯΔʣ ɾݚڀऀׂ͕ͱͬͯΔͷͰ࠷৽ͷݚڀՌ͕CaffeͰ࣮͞ΕͯͨΓ͢Δ ɾMulti-GPUʹରԠͨ͠ͷͰɺઃఆ̍ͭͰෳͷGPUΛར༻Մೳ ɾ࣮ߦׂ͕Γͱૣ͍ ɾωοτϫʔΫͷύϑΥʔϚϯεςετ͕Ͱ͖Δ(caffe testίϚϯυ)
▪ͭΒ͍ͱ͜Ζ(ݸਓతײ) ɾΧελϚΠζ͕c++ͱProtocol BufferɻɻɻϚξͭΒ͌Ηɻɻɻʢˎ̍ʣ =>ਓ͕ΧελϚΠζͨ͠ͷɺΘ͔ΒΜɻ ɾωοτϫʔΫΛProtocol BufferͰॻ͘ͷ͕ͭΒ͍ʢˎ̎ʣ =>GoogLeNet2000ߦɺResNet7000ߦɻɻɻ ʢProtocol Buffer৬ਓܳʣ ɾσʔληοτΛ࡞͢Δͷ͕େม
ɾΤϥʔ͕Θ͔Γʹ͍͘ ɾιʔείʔυΛಡΊͳ͍ͱશػೳ͑ͳ͍ɺಈ͖͕Θ͔Βͳ͍ ʢυΩϡϝϯτߋ৽͠Ζʂʣ ɾΠϯετʔϧ͕ͭΒ͍ ʢੲʹൺΔͱґଘؔͷOnOffͷΦϓγϣϯ͕͍ͨͨΊɺ ͍ͩͿϚγʣ ɾRNNΛѻ͏͜ͱͰ͖ͳ͍ʢຐվ͞ΕͨCaffeϕʔεͷͷ͋Δ͚Ͳɻɻɻʣ
▪༨ஊʢˎ̍ʣ ɾ࠷ۙPython Layer͕Ճ͞ΕͯPython͚ͩͰΧελϚΠζ Ͱ͖ΔΑ͏ʹຐվ͍ͯ͠Δ(No Documentation)
▪༨ஊʢˎ̎ʣ ɾPythonͰProtocol BufferΛੜ Ͱ͖ΔΑ͏ʹͳͬͨͨΊɺ ϧʔϓͨ͠هड़ׂ͕ͱ؆୯ʹͳͬͨ (No Documentation)
▪͜Μͳͻͱʹ͓͢͢Ί ɾ·ͣԿ͔ಈ͔͍ͨ͠ਓ ɾͱΓ͋͑ͣݚڀՌΛࢼ͍ͨ͠ਓ ɾ͕ඞཁͳਓ ɾC++ͱProtocol BufferΛษڧ͍ͨ͠ਓ ɾࠜؾڧ͘Կ͔ͱઓ͍͍ͨਓ
Tensorflow: G̋̋gleͷࢄߦྻܭࢉϥΠϒϥϦɻ ผʹDeep͚ͩ͡Όͳ͍Μ͔ͩΒͶʂ ݴޠ: ɾCoreC++ɻPythonͱC++ͲͪΒͰಈ͘ɻ ಛ: ɾࢄॲཧ͕؆୯ʹͰ͖Δ ɾGoogleͷϓϩμΫτͰԿར༻͞Ε͍ͯͯɺ҆ఆײ͕͋Δ
▪͍͍ͱ͜Ζ(ݸਓతײ) ɾࢄॲཧ͕ΊͬͪΌ؆୯ʹͰ͖Δ(Distributed Tensorflow) ɾGoogle͕MLϓϥοτϑΥʔϜΛఏڙ։࢝ ɾ࠷ۙɺTensorflow͍·ͨ͠จ͕Α͘Ͱ͖͍ͯͯΔ ɾίΞ͕C++ͳͷͰAndroidͰಈ࡞͢Δ ɾDocker Container͕མͪͯΔͷͰɺDocker͑ΔͳΒ ΠϯετʔϧʹࠔΒͳ͍ ɾTensorboard͕ΦγϟϨ
▪ͭΒ͍ͱ͜Ζ(ݸਓతײ) ɾݰਓ͚ϥΠϒϥϦ =>Έ͕ͪΐͬͱෳࡶͳͷͰཧղ͠ͳ͍ͱ͍͜ͳͤͳ͍ =>ωοτϫʔΫΛॻ͘ͷʹҰ͔Βهड़͢Δඞཁ͕͋ΔɺTheanoతͳཱͪҐஔ ɾιʔείʔυ͕େنͳͨΊվ͕େมͦ͏ ʢҰԠυΩϡϝϯτ͋Δ͚Ͳʣ ɾDistributed TensorflowΛݸਓͷࢿݯͰ׆༻͢ΔͷࠔͳͷͰɺGoogleͷϓϥοτ ϑΥʔϜΛΘͳ͍ͱԸܙΛड͚ʹ͍͘ =>ࢄίϯϐϡʔςΟϯάͷIOϘτϧωοΫɺInfiniBandΛ͍ͬͺ͍ങ͑Δ͓ۚ࣋ͪ
ͳΒԸܙΛड͚ΒΕΔ͔
▪͜Μͳͻͱʹ͓͢͢Ί ɾΈͷ෦͔ΒDeep LearningΛษڧ͍ͨ͠ਓ ɾDeep Learningɹதʙ্ڃऀ͚ͷਓ ɾେنػցֶशΛͬͯΈ͍ͨਓ ɾେنػցֶशج൫Λ࡞Γ͍ͨਓ ɾMobileʹΈࠐΈ͍ͨਓ
Chainer: PFNͷDeep LearningϥΠϒϥϦɻ ݴޠ: ɾPython(+Cuda) ಛ: ɾDefine-by-Runͱ͍͏ख๏Λͱ͍ͬͯͯɺωοτϫʔΫΛޙ͔Βղ ऍ ɾ͢Β͍͠
▪͍͍ͱ͜Ζ(ݸਓతײ) ɾωοτϫʔΫͷهड़ͷॊೈੑ͕ߴ͍ ʢಛʹRNNܥඇৗʹॻ͖͍͢ʣ ɾ෦ͷಈ࡞͕Ͳ͏ͳͬͯΔ͔ඇৗʹΘ͔Γ͍͢ ɾσόοΫ͍͢͠ ɾφ͍ΞϧΰϦζϜ͕͍ͪૣ࣮͘͞ΕͯΔ ɾCupyͱ͍͏Cuda͕؆୯ʹ͑ΔߦྻԋࢉϥΠϒϥϦؚ͕·Ε͍ͯ ͯɺࣗલͷΞϧΰϦζϜΛൺֱత؆୯ʹߴԽͰ͖Δ (C++Ͱॻ͍ͯϥούʔͱ͔ͭ͘Βͳ͍͍ͯ͘) ɾதͷਓ͕͍͢͝
▪ͭΒ͍ͱ͜Ζ(ݸਓతײ) ɾωοτϫʔΫҎ֎ͷهड़ྔ͕ଟ͘ͳͬͯ͠·͏ʢֶशͷίʔυͱ͔ʣ ɾ࣮ߦʢ࠷ۙͦͦ͜͜ૣ͍ͬΆ͍ʣ ɾDeep Learning͔ͬͯͳ͍ͱଟ͍͜ͳͤͳ͍
▪͜Μͳͻͱʹ͓͢͢Ί ɾDeep LearingΛҰ͔ΒΨοπϦษڧ͍ͨ͠ਓ ɾDeep Learningɹதʙ্ڃऀͷਓ ɾݚڀͰTry and ErrorΛ܁Γฦ͠ͳ͕ΒΞϧΰϦζϜΛ։ൃ͍ͨ͠ਓ ɾෳࡶͳωοτϫʔΫΛهड़͍ͨ͠ਓ ʢωοτϫʔΫͰ݅จॻ͖͍ͨɺσʔλʹΑͬͯॲཧΛ͚͍ͨʣ
ɾRNNͱ͔NLPͱ͔Λॻ͖͍ͨ
▪MXNet: DMLC(Distributed (Deep) Machine Learning Community)͕࡞ͬͯ ΔɻXGBoostͷ࡞ݩͱͯ͠༗໊ɻ ▪ݴޠ: ɾCoreC++ɻWrapper͕ͨ͘͞Μ͋ΓɺPythonɺC++ɺScalaɺ RɺMatlabɺJuliaͱଟݴޠରԠɻ
▪ಛ: ɾଟݴޠʂ ɾ͕͔ͳΓૣ͍ʢॴײʣ ɾmshadow(ߦྻԋࢉ)ɺps-lite(ࢄॲཧ)ͷϥΠϒϥϦ͕ϕʔε
▪͍͍ͱ͜Ζ(ݸਓతײ) ɾࢄॲཧ(1Node, Multi-GPUɺMulti-NodeɺMulti-GPUͲͪΒ ʣ͕ΊͬͪΌ؆୯ʹͰ͖Δ(Example͋Γ) ɾS3ϞσϧσʔλΛอଘ͢Δػೳ͕͋Δ ɾૣ͍ʢImageNet full datasetΛGeForce GTX 980*4Ͱ8.5)
ɾͳͥૣ͍͔͕υΩϡϝϯτͰྗઆ͞Ε͍ͯΔ ɾଟ࠷ଟݴޠ͕ਐΜͰ͍Δ ɾC++Ͱॻ͔ΕͯΔͷͰ Mobile(iOS, Android)Ͱಈ͘
▪ͭΒ͍ͱ͜Ζ(ݸਓతײ) ɾΤϥʔ͕Θ͔Γʹ͍͘ɺຊʹΘ͔Γʹ͍͘ ɾυΩϡϝϯτ͕গͳ͍ =>ಛघͳֶशσʔλΛ࡞ͬͨΓ͢Δͷେม =>͍͜͠ͱΛ͠Α͏ͱ͢ΔͱιʔεΛಡ·ͳ͚ΕͳΒͳ͍
▪͜Μͳͻͱʹ͓͢͢Ί ɾDeep Learningɹதʙ্ڃऀ͚ͷਓ ɾΛٻΊ͍ͯΔਓ ɾPythonɺC++Ҏ֎Ͱར༻͍ͨ͠ਓ
▪Keras: PythonͷDeep LearningϥΠϒϥϦɻ ࠷ۙv1.0͕ϦϦʔε͞Εͨɻ ▪ݴޠ: ɾPython ▪ಛ: ɾTorchʹࣅͨهड़ํ๏ɻ ɾߦྻԋࢉͷόοΫΤϯυTheanoͱTensorFlowΛར༻͍ͯͯ͠ɺ Γସ͑Δ͜ͱ͕Ͱ͖Δ
▪͍͍ͱ͜Ζ(ݸਓతײ) ɾωοτϫʔΫهड़͕؆୯ɺॊೈ ϕʔεͷAPI͕ͨ͘͞Μ४උ͞Ε͍ͯΔͨΊɺهड़ྔগͳ͘ࡁ Ήɻ؆୯ͳωοτϫʔΫͰ͋ΕAPIΈ߹ΘͤͰͳΜͱ͔ͳΔɻ v1.0.0͔Β functional APIͳΔͷ͕ग़དྷͯɺ ඇৗʹײతʹωοτϫʔΫΛهड़Ͱ͖ΔΑ͏ʹͳͬͨ ɾֶश͕؆୯ ScikitͷΑ͏ʹfit()ؔݺͼग़ͤΑΖͬͯ͘͘͠ΕΔ
ɾιʔε͕ಡΈ͍͢
▪ͭΒ͍ͱ͜Ζ(ݸਓతײ) ɾMulti-GPUඇରԠ TheanoΛBackendͱͯͬͯ͠ΔͱMulti-GPUͭΒ͍ɻ Tensorflowͷ͓͔͛ͰMulti-GPU͕؆୯ʹͰ͖ΔΑ͏ʹͳͬͨʁ ɾPython͔͠ରԠ͍ͯ͠ͳ͍
▪͜Μͳͻͱʹ͓͢͢Ί ɾDeep LearningΛΓ͍ͨਓશൠ ɾ͋·Γࡉ͔͍͜ͱؾʹͤͣʹαΫοͱωοτϫʔΫΛ࡞ Γ͍ͨਓ ˎݸਓతʹҰ൪͓͢͢Ί
·ͱΊ ▪Caffe ɾͱΓ͋͑ͣDeep LearingʢCNNʣΓ͍ͨਓ ɾݚڀՌΛࢼ͍ͨ͠ਓ ▪Tensorflow ɾࢄίϯϐϡʔςΟϯάΓ͍ͨਓ ▪Chainer ɾΞϧΰϦζϜ։ൃ͍ͨ͠ਓ ɾຊؾͰDeep
LearningΛษڧ͍ͨ͠ਓ ▪MXNet ɾ͕ඞཁͳਓ ɾMobileͰಈ͔͍ͨ͠ਓ ▪Keras ɾͱΓ͋͑ͣDeep Learingษڧ͍ͨ͠ਓ ɾΊΜͲ͍͘͞ͷͰ͋Δఔڥ͕४උ͞Ε͍ͯͯཉ͍͠ͱࢥ͏ਓ
We are hiring! → https://www.wantedly.com/companies/abeja