Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rustで作る機械学習を用いた画像クロッピングシステム
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
johshisha
December 19, 2019
2.7k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rustで作る機械学習を用いた画像クロッピングシステム
ML@Loft #9. Deep Learning フレームワークと推論
https://ml-loft.connpass.com/event/157785/
johshisha
December 19, 2019
More Decks by johshisha
See All by johshisha
Cookpad Summer Internship 2022 15-day Tech Course ~サーバーサイド編~
johshisha
0
4.4k
レシピの画像検索
johshisha
1
1.2k
機械学習を用いた見栄えのいい料理画像抽出をサービスに活かすための取り組み
johshisha
0
4.6k
サービスに寄り添った研究開発部にするための取り組み
johshisha
0
620
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
560
Claude Code のすすめ
schroneko
67
230k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Chasing Engaging Ingredients in Design
codingconduct
0
360
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Accessibility Awareness
sabderemane
1
250
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Rails Girls Zürich Keynote
gr2m
96
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.3k
Transcript
3VTUͰ࡞Δ ػցֶशΛ༻͍ͨ ը૾ΫϩοϐϯάγεςϜ 1 .-!-PGU %FFQ-FBSOJOHϑϨʔϜϫʔΫͱਪ ࡾᑍஐ࢙
ࡾᑍஐ࢙ @johshisha wΫοΫύουגࣜձࣾ w৽ଔೖࣾ wݚڀ։ൃ෦ wͬͯΔ͜ͱ wϨγϐͷը૾ݕࡧ wࠂ৴࠷దԽ wը૾ͷݟӫ͑ਪఆ 2
3 ͱࢥ͍·͔͢ʁ ඒຯͦ͠͏ ࡞Γ͍ͨ Ͳ͕ͬͪ ྆ํࡾᑍ͕ࡱӨ ᶃ ᶄ
4 ͱࢥ͍·͔͢ʁ ඒຯͦ͠͏ ࡞Γ͍ͨ Ͳ͕ͬͪ ྆ํࡾᑍ͕ࡱӨ ᶃ ᶄ Ϋϩοϐϯά ඒຯͦ͠͏ɾ࡞Γ͍ͨʹ
༩͑ΔӨڹ͕େ͖͍
ࠓͷ 5 ը૾ͷΫϩοϐϯάΛ ػցֶशΛ͍͍ͬͯײ͡ʹ͢Δ γεςϜΛ࡞ͬͨ
ࠓͷ 6 ը૾ͷΫϩοϐϯάΛ ػցֶशΛ͍͍ͬͯײ͡ʹ͢Δ γεςϜΛ࡞ͬͨ ͍͍ײ͡ʹ͢ΔͷΊͪΌͪ͘Όେม
7 εϧʔϓοτ SQT ڐ༰ϨΠςϯγʔ NTSFR ը૾Λ৴͢Δͷ͍ͨΜ αΠτʹͨ͘͞Μͷը૾͕͋Δ ͨ͘͞ΜͷϢʔβ͕ར༻͍ͯ͠Δ ϨΠςϯγʔɾߴεϧʔϓοτੑ͕ඞਢ ػցֶशΛ༻͍ͨγεςϜͰ
ϨΠςϯγʔɾߴεϧʔϓοτΛ࣮ݱ͢ΔͨΊͷ γεςϜઃܭઓུʹ͍ͭͯ͠·͢
എܠ·ͱΊ • ը૾৴γεςϜ͢Ͱʹ͋Δ͕վળ͋Γ • Ϩγϐը૾ͷ༰ʹؔΘΒͣಉ͡Α͏ʹΫϩοϐϯά͍ͯ͠Δ • ը૾αʔϏεར༻ऀ༩͑Δҹ͕େ͖͍ͨΊԿͱ͔͍ͨ͠ • ػցֶशΛͬͯ࠷దͳը૾ΫϩοϐϯάΛ࣮ݱ͍ͨ͠ •
ྉཧͷॴΛݕग़ͯ͠ΫϩοϐϯάΛߦ͑ɼΑΓΑ͍ը૾ΛఏڙͰ͖Δ • ՝: ը૾৴γεςϜϨΠςϯγʔɾߴεϧʔϓοτੑ͕ඞਢ • ࠷େ 600 req / secɼͯ͘(95ύʔηϯλΠϧͰ) 200 ms / req ͘Β͍ 8 ˞QSPEVDUJPOʹಋೖؒʹ߹͍·ͤΜͰͨ͠ ಋೖͯ͠ύϑΥʔϚϯεͷ͔ͨͬͨ͠ͷͰ͕ؒ͢ʹ߹͍·ͤΜͰͨ͠ γεςϜઃܭઓུΛॏతʹ͠·͢
γεςϜઃܭ͢Δલʹௐͨࣈ 9 ը૾ೖྗˠΫϩοϐϯάྖҬग़ྗɿNT QZUIPO खݩͷ.#1Ͱ 4͔Βը૾Λऔͬͯ͘ΔɿNTʢ&$্Ͱʣ ΫϩοϐϯάྖҬͷਪɿNT ݁ߏॏ͍ͷͰී௨ʹॲཧͯͨ͠Βؒʹ߹Θͳ͍
10 όονͰܭࢉ͓͚͍͍ͯ͠ͷͰʁ
৽ػೳͷϓϩτλΠϐϯά 11 ͪΐͬͱࢼ͍ͨ͠ͱ͖ʹରԠͰ͖ͳ͍ ৽6*ࢼͨ͢ͼʹόονΒͤΔɽɽʁ
12 ࢼߦࡨޡʹରԠͰ͖ͳ͍͚Ͳ ຊ൪Ͱ͏αΠζࣄલʹΕΔͷͰʁ
ࣄલܭࢉ͢ΔαΠζͷཧ 13 YͷϨγϐը૾Λ ͍͍ͨͰ͢ Yͷͭ͘ΕΆը૾Λ ͍͍ͨͰ͢ Yͷࣄલܭࢉͬͯ ͏ऴΘͬͯΔʁ Yͷࣄલܭࢉґཔ Εͯͨʂʂʂ
Εͳ͍Α͏ʹ αʔϏεͷ͍ͬͯΔαΠζΈͯ ࣗಈͰґཔ͛ΔΈ࡞Γ·ͨ͠ Ϧιʔε͝ͱʹҟͳΔαΠζ ܭࢉऴ͍ྃͯ͠Δ͔ͷ֬ೝ ෳࡶʹͳΔपลαʔϏε
ࣄલܭࢉ͢ΔαΠζͷཧ 14 YͷϨγϐը૾Λ ͍͍ͨͰ͢ Yͷͭ͘ΕΆը૾Λ ͍͍ͨͰ͢ Yͷࣄલܭࢉͬͯ ͏ऴΘͬͯΔʁ Yͷࣄલܭࢉґཔ Εͯͨʂʂʂ
Εͳ͍Α͏ʹ αʔϏεͷ͍ͬͯΔαΠζΈͯ ࣗಈͰґཔ͛ΔΈ࡞Γ·ͨ͠ Ϧιʔε͝ͱʹҟͳΔαΠζ ܭࢉऴ͍ྃͯ͠Δ͔ͷ֬ೝ ෳࡶʹͳΔपลαʔϏε αΠζͷཧߟ͑Δ͜ͱ͕ଟ͍ Γͨ͘ͳ͍
• ը૾৴γεςϜ͢Ͱʹ͋Δ͕վળ͋Γ • Ϩγϐը૾ͷ༰ʹؔΘΒͣಉ͡Α͏ʹΫϩοϐϯά͍ͯ͠Δ • ը૾αʔϏεར༻ऀ༩͑Δҹ͕େ͖͍ͨΊԿͱ͔͍ͨ͠ • ػցֶशΛͬͯ࠷దͳը૾ΫϩοϐϯάΛ࣮ݱ͍ͨ͠ • ྉཧͷॴΛݕग़ͯ͠ΫϩοϐϯάΛߦ͑ɼΑΓΑ͍ը૾ΛఏڙͰ͖Δ
• ՝: ը૾৴γεςϜϨΠςϯγʔɾߴεϧʔϓοτੑ͕ඞਢ • ࠷େ 600 req / secɼͯ͘(95ύʔηϯλΠϧͰ) 200 ms / req ͘Β͍ • ཧ: αΠζͷཧΛͨ͘͠ͳ͍ 15 എܠ·ͱΊʢ࠶ʣ Ͳ͏࣮ݱ͢Δ͔
ϨΠςϯγʔɾߴεϧʔϓοτͳ ΞϓϦέʔγϣϯΛߏங͢Δ 16 1ZUIPOΛબ͢Δ͔ʁ ػցֶशͷ͜ͱҰ୴ஔ͍͓͍ͯͯ
ϨΠςϯγʔɾߴεϧʔϓοτΛ 1ZUIPOͰ࣮ݱ͢Δͷ͍͠ w ͍ʢ͜ͱ͕ଟ͍ʣ w ύϑΥʔϚϯεͷνϡʔχϯά͕େม w ϝϞϦίϐʔ͕Ͳ͜Ͱى͍ͬͯ͜Δͷ͔Ѳͮ͠Β͍ w ϚϧνεϨουॲཧ͕͍
w (*- άϩʔόϧΠϯλϓϦλϩοΫ w ؆୯ʹݴ͏ͱɼҰͭͷεϨουͰ͔͠$16ॲཧ͕࣮ߦ͞Εͳ͍ 17
3VTU 18 ҆શ ͍ ฒߦੑ Τί γεςϜ -JGFUJNF 0XOFSTIJQʹΑͬͯϝϞϦΛཧ $$
ʹඖఢ͢Δ͞ ϚϧνεϨουΛߟྀͨ͠ݴޠઃܭ ศརͳΫϨʔτ ϥΠϒϥϦ ͕ଟఏڙ͞Ε͍ͯΔ QZUIPO΄ͲͰͳ͍͕
ػցֶशΛ༻͍ͨ ϨΠςϯγʔɾߴεϧʔϓοτͳ ΞϓϦέʔγϣϯΛߏங͢Δ 19 3VTUΛબ͢Δ͔ʁ
3VTU 20 ҆શ ͍ ฒߦੑ Τί γεςϜ -JGFUJNF 0XOFSTIJQʹΑͬͯϝϞϦΛཧ $$
ʹඖఢ͢Δ͞ ϚϧνεϨουΛߟྀͨ͠ݴޠઃܭ ศརͳΫϨʔτ ϥΠϒϥϦ ͕ଟఏڙ͞Ε͍ͯΔ QZUIPO΄ͲͰͳ͍͕ Τί γεςϜ ศརͳΫϨʔτ ϥΠϒϥϦ ͕ଟఏڙ͞Ε͍ͯΔ
21
3VTUͰਪ w χϡʔϥϧωοτϫʔΫ෦ͷҠߦ؆୯ w TBWFE@NPEFMΛ͏ͱωοτϫʔΫͷఆٛҰߦ w લॲཧɾޙॲཧॻ͖͢ඞཁ͕͋Δ w ը૾ܥͷλεΫͩͱ͜ͷ෦؆୯ʢͳ͜ͱ͕ଟ͍ʣ w
ॲཧ w ׂݮʢQZUIPONT SVTUNT˞લॲཧɾޙॲཧؚΉʣ 22
Ϟσϧͷ֓ཁ 23 .PCJMF/FUTਤhttps://arxiv.org/pdf/1704.04861.pdf ྉཧΒ͠͞Λද͢ώʔτϚοϓΛऔಘ ΟϯυΛҠಈͤ͞ͳ͕Β είΞ͕Ұ൪ߴ͘ͳΔ෦Λ୳͠ग़͢
Ϟσϧͷ֓ཁ 24 .PCJMF/FUTਤhttps://arxiv.org/pdf/1704.04861.pdf ྉཧΒ͠͞Λද͢ώʔτϚοϓΛऔಘ ΟϯυΛҠಈͤ͞ͳ͕Β είΞ͕Ұ൪ߴ͘ͳΔ෦Λ୳͠ग़͢ 1ZUIPOϥΠϒϥϦ 1*-
OVNQZ LFSBT OVNQZ
Ϟσϧͷ֓ཁ 25 .PCJMF/FUTਤhttps://arxiv.org/pdf/1704.04861.pdf ྉཧΒ͠͞Λද͢ώʔτϚοϓΛऔಘ ΟϯυΛҠಈͤ͞ͳ͕Β είΞ͕Ұ൪ߴ͘ͳΔ෦Λ୳͠ग़͢ 3VTUΫϨʔτ JNBHF
OEBSSBZ UFOTPSqPX OEBSSBZ
26 ਪʹݶఆͨ͠߹ 3VTUͰػցֶशΛ༻͍ͨγεςϜΛ ؆୯ʹ࣮ݱͰ͖Δ
27 3VTUʹ͚ͨͩ͠Ͱ ύϑΥʔϚϯεཁ݅ΛຬͨͤΔΘ͚Ͱͳ͍ ͱ͍͑
28 ॏ͍ͨॲཧΩϟογϡ͢Δ ఘΊΔ෦ఘΊΔ γεςϜઃܭํ ͳʹΛ͍·͞ΒͨΓલͷ͜ͱΛʁ
29 ॏ͍ͨॲཧΩϟογϡ͢Δ ఘΊΔ෦ఘΊΔ γεςϜઃܭํ ػցֶश͕བྷΉγεςϜͰී௨ʹઃܭ͢Ε͍͍ ͳʹΛ͍·͞ΒͨΓલͷ͜ͱΛʁ
Ϋϩοϐϯά݁ՌͷΩϟογϡ 30 ಉ͡αΠζͷϦΫΤετ݁Ռ͕ಉ͡ͳͷͰ͍ճ͢ ܭࢉ͕ඞཁͳ͍ͷͰߴ
31 .PCJMF/FUTਤhttps://arxiv.org/pdf/1704.04861.pdf ྉཧΒ͠͞Λද͢ώʔτϚοϓΛऔಘ ΟϯυΛҠಈͤ͞ͳ͕Β είΞ͕Ұ൪ߴ͘ͳΔ෦Λ୳͠ग़͢ ॏ͍ͨॲཧͰ͖Δ͚ͩΩϟογϡ͍ͨ͠ Ϟσϧ֓ཁ ਪͷΩϟογϡ
32 .PCJMF/FUTਤhttps://arxiv.org/pdf/1704.04861.pdf ྉཧΒ͠͞Λද͢ώʔτϚοϓΛऔಘ ΟϯυΛҠಈͤ͞ͳ͕Β είΞ͕Ұ൪ߴ͘ͳΔ෦Λ୳͠ग़͢ ਪͷΩϟογϡ Ϟσϧ֓ཁ Ϟσϧͷڞ௨෦ΩϟογϡͰ͖Δ
ώʔτϚοϓ͕͋Ε ΫϩοϐϯάྖҬͷܭࢉ͕Մೳ
ఘΊΔஅ w Ͱ͖Δ͚ͩࣸਅͷݟӫ͑ΛΑ͍ͨ͘͠ w ը૾৴͕͘ͳΒͳ͍͜ͱ͕ॏཁ w ը૾৴γεςϜ͢Ͱʹ͋Δ 33 ॲཧ͕٧·͍ͬͯΕ ఘΊͯطଘͷΈͰ৴͢ΕΑ͍
ώʔτϚοϓΩϟογϡͰ͖͍ͯͳ͍߹ ॲཧ͕٧·Δ ʢॳճಋೖ࣌ɾ৽͍͠Ϧιʔε ͭ͘ΕΆʹରԠ ͕૿͑ͨ߹ʣ
ը૾৴ͷํ๏ 34 طଘ৴αʔό ΫϩοϐϯάγεςϜ ϦΫΤετ ॴࢦఆͳ͠ ϦΫΤετ ແ ཧ طଘ৴αʔό
ΫϩοϐϯάγεςϜ ϦΫΤετ Ϋϩοϓॴࢦఆͯ͠ ϦΫΤετ ͜ͷॴͰ Ϋϩοϓͯ͠΄͍͠ ը૾Λฦ͢ ௨ৗ࣌ ఘΊΔ࣌ ૣΊʹఘΊΔஅΛ͢Δ͜ͱ͕େࣄ
࡞ͬͨγεςϜ 35
36
37 աڈʹΫϩοϐϯά͍ͯͨ͠Βͦͷ݁ՌΛ࠶ར༻ Ϋϩοϐϯά݁ՌͷΩϟογϡ
38 ώʔτϚοϓ͕͋ΕॊೈͳαΠζʹରԠՄೳ ώʔτϚοϓΛΩϟογϡͯ͠//ʹ͔͔ΔॲཧΛল͘ ৽͍͠ϦΫΤετʹώʔτϚοϓΛܭࢉͯ͠ฦ͢ ϦΫΤετϕʔεͰܭࢉ͢ΔͷͰཧ͠ͳ͍͍ͯ͘ ώʔτϚοϓͷΩϟογϡ
39 ܭࢉࢿݯͷޮར༻ ֎෦Ϧιʔε͕བྷΜͩॲཧͯ͢ඇಉظॲཧ ϦΫΤετΛϚϧνεϨουͰॲཧ͍ͯ͠ΔͷͰ ޮΑ͘$16Λར༻Ͱ͖Δ
40 ఘΊΔஅ ผεϨουͰෳಈ͔͓ͯ͘͠ ΩϡʔͰλεΫΛཧ Ωϡʔ͕٧·͍ͬͯΕఘΊͯ طଘͷγεςϜͰ৴ ఘΊͨ߹ ΩϟογϡΛૣΊʹ&YQJSF͢Δ
41 ఘΊΒΕΔΈ Ͱ͖ͳ͔ͬͨ߹ ྖҬΛࢦఆͤͣʹطଘ৴αʔόʹϦΫΤετ ΫϩοϓྖҬΛܭࢉͰ͖ͨ߹ ΫϩοϓྖҬΛࢦఆͯ͠طଘ৴αʔόʹϦΫΤετ
42 ΩϟογϡʹΑΓύϑΥʔϚϯεΛҡ࣋ͭͭ͠ ॊೈͳϦΫΤετʹରԠՄೳ ͔ͭϝϯςφϯεϑϦʔ
43 ͜ͷγεςϜΛຊ൪Ͱಈ͔ͨ͠ΒͲ͏ͳ͔ͬͨ·ͨผͷػձʹɽɽɽɽ
·ͱΊ • ݱঢ়ͷը૾৴༰ʹؔΘΒͣಉ͡Α͏ʹΫϩοϐϯά͍ͯ͠Δ • ػցֶशΛ༻͍ͯը૾͝ͱʹ࠷దͳҐஔͰͷΫϩοϐϯάΛ࣮ݱ͠ Α͏ͱͨ͠ • ը૾৴γεςϜʹٻΊΒΕΔϨΠςϯγʔɾߴτϥϑΟοΫੑͷ ͋ΔΞϓϦέʔγϣϯΛ࣮͢ΔͨΊʹpythonͰͳ͘rustΛબͨ͠ •
ػցֶशΛ༻͍ͨγεςϜͰී௨ʹઃܭ͢Ε࣮ݱՄೳ • Ωϟογϡઓུɾݱ࣮తͳམͱ͠ॴΛݟ͚ͭΔ 44