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
AxonOnnxとLiveViewで作る AI・MLシステム
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuisho Takafuji
June 28, 2022
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AxonOnnxとLiveViewで作る AI・MLシステム
LiveViewJP #7発表資料
デモ動画はこちら
https://github.com/thehaigo/live_onnx#demo
Yuisho Takafuji
June 28, 2022
More Decks by Yuisho Takafuji
See All by Yuisho Takafuji
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1.2k
Elixirでスマホ開発の現在
thehaigo
0
67
サクッと画像分類アプリを作ってみる
thehaigo
0
340
ElixirMobile#2 ElixirDesktopの前説
thehaigo
0
220
ElixirDesktop is Production Ready?
thehaigo
0
190
スマホで動く「GPS地図アプリ」はElixirDesktopで割とサックリ作れる
thehaigo
0
180
Phoenix 1.7とElixirDesktopでスマホアプリを作る セットアップ編
thehaigo
0
290
ElixirConf繋がりでLiveViewNativeやってみた
thehaigo
0
350
ElixirDesktop R&D 苦労話
thehaigo
1
150
Other Decks in Programming
See All in Programming
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
180
Workers Cache を知る
syumai
0
320
Agents on Rails - Rails at Scale 2026
irinanazarova
0
310
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.4k
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
9.4k
カツオ、ご期待ください
suneo3476
0
140
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
370
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
460
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
830
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
33
14k
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
370
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.3k
For a Future-Friendly Web
brad_frost
183
10k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Marketing to machines
jonoalderson
1
5.8k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Crafting Experiences
bethany
1
360
How to build a perfect <img>
jonoalderson
1
6.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Transcript
UIF@IBJHP "YPO0OOYͱ-JWF7JFXͰ࡞Δ "*ɾ.-γεςϜ &MJYJSͰ݁͢ΔເͷγεςϜ
➤ Name: ོ౻།ষʢλΧϑδ ϢΠγϣʣ ➤ Twitter: @the_haigo ➤ Github: thehaigo
➤ Job: ϑϦʔϥϯεΤϯδχΞ / ૐཿ ➤ Skill: Elixir, Phoenix, React, ReactNative ➤ ࠷ۙ࡞ͬͨͷ ➤ LiveView + AxonͰը૾ྨ ➤ LiveView + Tailwind + DaisyUIͰΑ͛͞ͳUI About me
"*ɾ.-ษڧதͰɺ ࣮ۀͱࣝͷണ͕͋Δ͔ ͠Ε·ͤΜͷͰྃ͝ঝ͍ͩ͘͞
&MJYJSͷ"*ɾ.-͕͍ʂ ͍ͭݴͬͯΔؾ͕͠·͕͢ɾɾɾ
·ͣͪ͜ΒΛ͝ཡ͍ͩ͘͞
%&.0
ͪ͜Β1ZUIPO༻͍ͯ͠·ͤΜ &MJYJSͷΈͰ࡞ΒΕ͍ͯ·͢ʂ
ͪͳΈʹͪ͜ΒͷσϞಈըɺ+PTÉ͞Μʹ &MJYJS$POG&6ͷ,FZOPUFͰ͍͖ͬͯͨͩ·ͨ͠ʂ
͍ͷΘ͔͚ͬͨͲ "*ɾ.-ͬͯଞʹͲΜͳͷ͕͋Δͷʁ
ը૾ॲཧ w ը૾ྨɿը૾͕Կͷը૾Ͱ͋Δ͔Λࣝผ͢Δ w ମݕग़ɿը૾ͷରͷॴΛݕग़͢Δ w ҟৗݕɿը૾ͷத͔ΒҟͳΔঢ়ଶΛݕग़͢Δ w ը૾ੜɿ৽͍͠ը૾Λੜ͢Δ w
࢟ਪఆɿը૾ͷਓؒಈͳͲͷ࢟Λਪఆ͢Δ
ࣗવݴޠॲཧ w ςΩετྨɿϨϏϡʔͷωΨϙδఆɺTQBNఆ w ࣭ٙԠɿ*#.ϫτιϯɺΤΩεύʔτγεςϜ w ςΩετੜɿϒϩάهࣄ࡞ɺίʔυੜɺμΠδΣετهࣄ࡞ w ཁ w
ػց༁ w ߍӾ
ͦͷଞ৭ʑ w 4-". ࣗݾҐஔਪఆ ɿϧϯό w ղੳɿ౷ܭॲཧɺגՁ༧ଌ w ԻೝࣝɿΞϨΫαɺ4JSJɺ0,(PPHMF w
Ի߹ɾมɿϘΠνΣϯ w ڧԽֶशɿকعɺғޟɺήʔϜ
ࠓճը૾ྨΛྫʹ͍ͯ͠·͢
͜ͷΑ͏ͳγεςϜΛ࣮ݱ͢ΔͨΊʹͳʹ͕͍Δʁ w ػցֶशϑϨʔϜϫʔΫ w 1Z5PSDI 5FOTPS'MPX ,FSBT 4DJLJU-FBSO͕༗໊ w &MJYJSͩͱ"YPO
4DIPMFS͕֘͠·͢ w ϞσϧɾωοτϫʔΫ w 47. 7(( 3FT/FU :0-0 #&35 (51 w େྔͷֶशσʔλ ϞσϧɾωοτϫʔΫͰͷֶश w ্هͷΘΓʹֶशࡁΈϞσϧɾωοτϫʔΫ
େྔͷσʔλूΊΔͷͱϞσϧͷֶशେม͡Όͳ͍ʁ ࠷৽ͷ(16ΛOݸܨ͛ͯOͱ͔ฉ͍ͨ͜ͱ͋Δ͚Ͳɾɾɾɾ
ֶशࡁΈϞσϧΛ͏͜ͱͰɺֶशաఔΛඈͯͬͨ͠Γ νϡʔχϯάΛߦֶ͍शΛߦ͏ΑΓ࣌ؒͰλεΫʹ࠷ద Խ͢Δ͜ͱͰ͖·͢
Ͱ1ZUIPOͷϥΠϒϥϦ͚ͩͰ͠ΐʁ
&MJYJSͰͰ͖·͢ʂ
"YPO0OOY w "YPOʹPOOYܗࣜͷϞσϧσʔλΛಡΈࠐΉࣄ͕Ͱ͖Δ w 0//9 0QFO/FVSBM/FUXPSLF9DIBOHF w ֤ਂֶशϑϨʔϜϫʔΫؒͰ༻Ͱ͖Δڞ௨ϑΥʔϚοτ w
0//9.PEFM;PPʹֶशࡁΈϞσϧ͕ଟ༻ҙ͞Ε͍ͯΔ w IUUQTHJUIVCDPNPOOYNPEFMT w 1Z5PSDI,FSBT͔ΒֶशࡁΈϞσϧͷ&YQPSUͰ͖Δ
େྔͷσʔλΛूΊͯ ࣌ؒΛֶ͔͚ͯशΛ͠ͳͯ͘ ͏͜ͱ͕Ͱ͖ΔͷΘ͔ͬͨ
ͰγεςϜ࡞Δͷେม͡Όͳ͍ʁ
ઌఔͷγεςϜΛྫʹͯ͠Έ·͠ΐ͏
Έ ը૾Ξοϓϩʔυ 4UC*NBHFͰ 3(#"σʔλʹม ਂֶशͰ Կͷը૾͔ਪ ਪ݁ՌΛฦ͢ ݁ՌΛϑΥʔϚοτ ͑ͯදࣔ
ॳظԽॲཧ
ϞσϧಡΈࠐΈ
ϑΝΠϧΞοϓϩʔυͱσʔλม
ਪ
݁Ռදࣔ
͜Ε͚ͩͰ͢ʂ
ৄ͍࣮͠ ͪ͜ΒΛ͝ཡ͍ͩ͘͞
γεςϜߏங2JJUBهࣄ IUUQTRJJUBDPNUIF@IBJHPJUFNTGBFGECDF
Ϟσϧू(JUIVC IUUQTHJUIVCDPNUIFIBJHPMJWF@POOY
εέʔϧͤ͞Δ߹ (FO4FOWFSͰϓϩηεىಈͤͨ͞Γ ·ͨ#SPBEXBZΛ͏ͱ͍͏Ҋ͋Γ·͢ IUUQTNBSDFMPSFJDIFSUNFEJVNDPNPCKFDUEFUFDUJPOXJUIFMJYJSFFFEGFB
ྑͦ͞͏͡ΌΜ ͰػցֶशΘ͔Μͳ͍͚ͩͲɾɾɾ
ֶͼ·͠ΐ͏ʂ
Ͱग़͔ͨͬΓͰ ॻ੶هࣄશવͳ͍͡ΌΜ
ੈͷதʹେྔʹ͋Δػցֶशͷຊͷ ߏͲ͏ͳ͍ͬͯΔͱࢥ͍·͢ʁ
1ZUIPO +VQZUFS/PUFCPPL Ͱ͢ΑͶʁ
ͦΕΒΛ&MJYJS -JWF#PPLͰ ॻ͖͑·͠ΐ͏ʂ
͜ΜͳHJUIVCϦϙδτϦ࡞ͬͯ·͢ IUUQTHJUIVCDPNUIFIBJHPMJWFCPPL@TBNQMFT
ϥΠϒϥϦରԠද͚ͭͯ·͢
Ͱ͢Ͱʹ1ZUIPOͱ͔Ͱ͢Ͱʹ ͍ΖΜͳγεςϜ͕͋Δͷʹ Θ͟Θ͟&MJYJSͰΒͳͯ͘Α͘ͳ͍ʁ
࣮Ͱ"*ɾ.-Λ͍ͬͯΔํʹ ฉ͍ͨͷͰ͕͢ɾɾɾ
ͦͷ̍ /VN1Zʢͦͷ্ʹΔ5FOTPS'MPX1Z5PSDIؚΉʣͷ$Ͱॻ͔ΕͨՕॴ Ҏ֎ͷॲཧ͕͍ˍϝϞϦ৯͍ ˠ1ZUIPOࣗମ͕ΠϯλϓϦλͳͷͰΈ্ͷ՝
ͦͷ̎ ΤοδίϯϐϡʔςΟϯάͰ"*.-Λසൟݺͼग़͍ͨ͠͠ࠓޙͷधཁʹର͠ ͯɺ1ZUIPO/8αʔό෦ͷੑೳʹ͋ΓͰɺϓϩηε͋ͨΓͷෛՙ͕ॏ͍ ˠݪҼͦͷ̍ͱಉ͡ཧ༝ ˠΫϥυͰ͋ͬͯɺΞΫηεྔ͕ଟ͚Εɺ ɹɹ্هΤοδίϯϐϡʔςΟϯάͱಉ݁͡ՌʹͳΔ
ͦͷ̏ YܥͱYܥίʔυͷར༻ൺ͕݁ߏࠞࡏ͓ͯ͠ΓɺҠ২ ੑྲྀ༻ੑʹ͋Γͷ໘ϓϩδΣΫτߏ࣍ୈͰׂ ͱ͋Δ
ͦͷ̐ ݴޠඪ४ͷڞ༗ϝϞϦɺ/VN1Z1BOEBTͰ͍ʹ͍ͨ͘ Ίɺฒߦฒྻ"*ɾ.-͕ॻ͖ʹ͍͘
ͦͷ̑ $MBTTΛॻ͔ͣʹɺ͍͖ͳΓؔͰߏԽ͢Δਓޱଟ͘ɺ ϞδϡϥϦςΟʹशख़ϦεΫ͕༗Δ ˠ+VQZUFS/PUFCPPL(PPHMF$PMBCPSBUPSZͰֶͿਓ͕ ଟ͍ฐʁCZIBJHP
ͦͷ 8FC'8͕%KBOHPͱ'MBTLͰ̎͞Ε͓ͯΓɺௐୡ༰қੑ ໘ͰෆརʹͳΔ͜ͱ ̎ͭͷ'8ΛௐͯΈͨॴCZIBJHP %KBOHPˠϑϩϯτΤϯυ։ൃ͕Ϟμϯ͡Όͳ͍ 'MBTLˠܰྔϑϨʔϜϫʔΫͳͷͰ"1*ͳΒద͍ͯ͠Δ͔͠Εͳ ͍͕ϑϧελοΫͱͳΔͱͭΒͦ͏
&MJYJS͕ͨΒ͢ͷ w ฒྻॲཧ͕ಘҙ w ϝϞϦޮɾোੑ͕ߴ͍ w εέʔϧ͍͢͠ w 1FMFNBZ'MPXͰϚϧνίΞΛ࠷େݶ׆༻͠ߴԽ
ͳʹΑΓ࠷Ѫ͞Ε͍ͯΔ8FC'81IPFOJY͕͋Δʂ IUUQTTVSWFZTUBDLPWFS fl PXDP
&MJYJS͚ͩͯ݁͢Δ͜ͱͷϝϦοτ w 1IPFOJY w 8FCαʔϏε"1*Λ&MJYJSͷΈͰߏங w &MJYJS%FTLUPQ w ϚϧνϓϥοτϑΥʔϜ σεΫτοϓ
J04 "OESPJE ͳڥͰಈ͘ɹɹɹɹɹ ΞϓϦέʔγϣϯΛ&MJYJS -JWF7JFXͷΈͰ։ൃ w /FSWFT w ΈࠐΈػثΛ&MJYJSͷΈͰ։ൃ
͜ΕΒͷγεςϜʹָʹ ΈࠐΉ͜ͱ͕Ͱ͖·͢ʂ
Έͳ͞Μ͜ΕΛػձʹ"*ɾ.-Λ ࢝ΊͯΈ·ͤΜ͔ʁ
"YPO͔Βݟ͑Δੈք w &MJYJSࢄɾฒྻɾฒߦʹಛԽ͍ͯ͠Δ w ଞݴޠͰղʹͳΓ͕ͪͳ্هΛ w ϢʔβʔϑϨϯυϦʔʹॻ͚Δ w ৬ਓܳͳνϡʔχϯάΛ͠ͳͯ͘ेͳੑೳ͕ग़Δ w
ࢄɾฒߦɾฒྻͳڥͰ w ϋΠύϑΥʔϚϯεͳֶशɾ༧ଌγεςϜ w &MJYJSάϦουίϯϐϡʔςΟϯά্Ͱࢄֶश w ৽ͨͳػցֶशͷख๏ͷཱ֬
͓·͚ "YPOͱ"YPO0OOYͷݱঢ়
"YPO w ʹόʔδϣϯʹͳΓEFW͕औΕ·ͨ͠ w 5SBOTGPSNFS͕ಈ͘Β͍͕͠ະݕূ w (15ͰςΩετੜࣦഊͨ͠ w "YPOGSFF[F ֶशࡁΈϞσϧΛಡΈࠐΜͰߋ৽͠ͳ͍Α͏ʹ͠
৽ͨͳϨΠϠʔΛͯ͠ϑΝΠϯνϡʔχϯάసҠֶश͕Ͱ͖ͦ͏
"YPO0OOY w ͍͔ͭ͘POOYNPEFMTͷPOOYϑΝΠϧΛࢼ͕ͨ͠ɺಡΈࠐΈʹࣦഊ͢Δͷ ͕·ͩଟ͍ҹ w ࠓճ5PSDI7JTJPOͷֶशࡁΈϞσϧΛPOOYFYQPSUΛߦͬͨ w POOYΛ͖ͬͯͯͪΐ͍ͪΐ͍ͱಈ͔͢ʹࢸ͍ͬͯͳ͍