$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AxonOnnxとLiveViewで作る AI・MLシステム
Search
Yuisho Takafuji
June 28, 2022
Programming
0
210
AxonOnnxとLiveViewで作る AI・MLシステム
LiveViewJP #7発表資料
デモ動画はこちら
https://github.com/thehaigo/live_onnx#demo
Yuisho Takafuji
June 28, 2022
Tweet
Share
More Decks by Yuisho Takafuji
See All by Yuisho Takafuji
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1.2k
Elixirでスマホ開発の現在
thehaigo
0
50
サクッと画像分類アプリを作ってみる
thehaigo
0
300
ElixirMobile#2 ElixirDesktopの前説
thehaigo
0
190
ElixirDesktop is Production Ready?
thehaigo
0
150
スマホで動く「GPS地図アプリ」はElixirDesktopで割とサックリ作れる
thehaigo
0
150
Phoenix 1.7とElixirDesktopでスマホアプリを作る セットアップ編
thehaigo
0
250
ElixirConf繋がりでLiveViewNativeやってみた
thehaigo
0
290
ElixirDesktop R&D 苦労話
thehaigo
1
120
Other Decks in Programming
See All in Programming
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
11k
AIコーディングエージェント(Gemini)
kondai24
0
160
ゲームの物理 剛体編
fadis
0
170
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
560
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
210
dotfiles 式年遷宮 令和最新版
masawada
1
680
Microservices rules: What good looks like
cer
PRO
0
600
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
210
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
270
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
320
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
120
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
560
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Practical Orchestrator
shlominoach
190
11k
Site-Speed That Sticks
csswizardry
13
990
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.1k
Typedesign – Prime Four
hannesfritz
42
2.9k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
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Λ͖ͬͯͯͪΐ͍ͪΐ͍ͱಈ͔͢ʹࢸ͍ͬͯͳ͍