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
AxonOnnxとLiveViewで作る AI・MLシステム
Search
Yuisho Takafuji
June 28, 2022
Programming
0
200
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.1k
Elixirでスマホ開発の現在
thehaigo
0
45
サクッと画像分類アプリを作ってみる
thehaigo
0
290
ElixirMobile#2 ElixirDesktopの前説
thehaigo
0
190
ElixirDesktop is Production Ready?
thehaigo
0
140
スマホで動く「GPS地図アプリ」はElixirDesktopで割とサックリ作れる
thehaigo
0
150
Phoenix 1.7とElixirDesktopでスマホアプリを作る セットアップ編
thehaigo
0
240
ElixirConf繋がりでLiveViewNativeやってみた
thehaigo
0
280
ElixirDesktop R&D 苦労話
thehaigo
1
120
Other Decks in Programming
See All in Programming
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
570
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
350
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
3
520
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
35
10k
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
20
9.7k
AIに安心して任せるためにTypeScriptで一意な型を作ろう
arfes0e2b3c
0
280
コーディングエージェント概観(2025/07)
itsuki_t88
0
450
新しいモバイルアプリ勉強会(仮)について
uetyo
1
230
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
2
560
Advanced Micro Frontends: Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
120
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
2
740
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
160
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Typedesign – Prime Four
hannesfritz
42
2.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
YesSQL, Process and Tooling at Scale
rocio
173
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
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Λ͖ͬͯͯͪΐ͍ͪΐ͍ͱಈ͔͢ʹࢸ͍ͬͯͳ͍