Slide 1

Slide 1 text

ʲԾʳ࣮ફStreamlit & Flask Shinichi Nakagawa(@shinyorke) kawasaki.rb #100 9/22 ※PyCon JP 2021ͷนଧͪʢσϞVerʣͰ͢ AIϓϩδΣΫτΛPoC͔Βຊ൪·Ͱ͍͍ײ͡ʹண஍ͤ͞ΔPythonicͳ΍Γ͔ͨ

Slide 2

Slide 2 text

Who am I ?ʢ͓લ୭Αʣ • Shinichi Nakagawaʢத઒ ৳Ұʣ • େ఍ͷSNSͰʮshinyorkeʢ͠ΜΑʔ͘ʣʯͱ໊৐͍ͬͯ·͢ • Software Engineer & Data ScientistʢؚΉ⽁ʣ • ʲݩʳJX௨৴ࣾγχΞΤϯδχΞ 
 ※9݄·Ͱ͓ੈ࿩ʹͳΓ·ͨ͠🙇&10݄͔ΒͲ͔͜ͷίϯαϧͷਓ • #Python #DataScience #Baseball⚾ #SABRmetrics #σʔλج൫

Slide 3

Slide 3 text

͜ͷ͓࿩͸ • ͓࢓ࣄͰʮAIͰ͍͍ײ͡ʹͯ͘͠Εʯʮ2ϲ݄ޙʹ͸ຊ൪ϓϩμΫτ͕ ඞཁͳΜ΍ʂʯͱ͔ݴΘΕͨ࣌ʹɺࢲshinyorke͕ΤϯδχΞͱͯ͠Կ Λ͔ͨ͠?ͱ͍͏࣮࿩ʹج͍ͮͨ෺ޠͰ͢ • ϓϩτλΠϓΛ࢖ͬͨࣾ಺Ͱͷ֓೦ݕূʢPoCʣ͔Βɺຊ൪ͰಥવTV ๒ʹͿͪ౰ͨΔʢߴෛՙରࡦʣ·ͰԿΛ͔ͨ͠࿩͠·͢ • ࠓճ͸୹ॖ൛ʢนଧͪ൛ʣͳͷͰͱΓ͋͑ͣPoCͷ࿩Λ

Slide 4

Slide 4 text

͓͠ͳ͕͖ • AIϓϩδΣΫτΛ੒ޭͤ͞ΔͨΊʹඞཁͳߟ͑ํͱελϯε • StreamlitΛ࢖ͬͨര଎ϓϩτλΠϐϯά • ʲTBDʳStreamlitͳϓϩτλΠϓΛݩʹFlaskͰຊ൪ΞϓϦ • ʲTBDʳ஌ͬͯΔͱศར͔΋͠Εͳ͍Tips. GCPͱ͔ը૾ੜ੒ͱ͔. ʲTBDʳͷ࿩͸PyCon JP 2021ຊ൪Ͱొ৔ʢ͢Δ͔΋ʣ

Slide 5

Slide 5 text

AIϓϩδΣΫτʹඞཁͳߟ͑ํ is 🤔 • ػහʢAgileʣʹ, ಈ͘΋ͷϕʔεͰίϛϡχέʔγϣϯ • σʔλαΠΤϯςΟετͱΤϯδχΞͷҧ͍Λཧղ͢Δ ଞʹ΋Ұഋ͋Γͦ͏Ͱ͕͢ͻͱ·ͣ͜ͷ2͕ͭ͋Δͱ͍͍͔ͳ

Slide 6

Slide 6 text

Agileͳ։ൃ • ෆ࣮֬ੑ͕ߴ͍, AIɾػցֶशͳϓϩδΣΫτͦ͜ 
 ʮಈ͘ιϑτ΢ΣΞʯΛݩʹ։ൃ͠Α͏ • PoCͱ͸͍͑, ͳΔ΂͘ຊ൪͕ΠϝʔδͰ͖Δಈ͘ 
 ΞϓϦέʔγϣϯͰձ࿩͢Δͷ͕͍͍ͱࢥ͏ʢೝࣝҧ͍ͷ๷ࢭʣ • Ұํ, खΛൈ͚Δॴ͸खΛൈ͖·͘Ζ͏ 
 υΩϡϝϯτΛἧ͑Δͱ͔, σβΠϯ੔͑Δͱ͔etc…

Slide 7

Slide 7 text

ߟ͑ํ͸ΞδϟΠϧϚχϑΣετͦͷ΋ͷ ࢲͨͪ͸ɺιϑτ΢ΣΞ։ൃͷ࣮ફ ͋Δ͍͸࣮ફΛखॿ͚Λ͢Δ׆ಈΛ௨ͯ͡ɺ ΑΓΑ͍։ൃํ๏Λݟ͚ͭͩͦ͏ͱ͍ͯ͠Δɻ ͜ͷ׆ಈΛ௨ͯ͠ɺࢲͨͪ͸ҎԼͷՁ஋ʹࢸͬͨɻ ϓϩηε΍πʔϧΑΓ΋ݸਓͱର࿩Λɺ แׅతͳυΩϡϝϯτΑΓ΋ಈ͘ιϑτ΢ΣΞΛɺ ܖ໿ަবΑΓ΋ސ٬ͱͷڠௐΛɺ ܭըʹै͏͜ͱΑΓ΋มԽ΁ͷରԠΛɺ Ձ஋ͱ͢Δɻ͢ͳΘͪɺࠨهͷ͜ͱ͕ΒʹՁ஋͕͋Δ͜ͱΛ ೝΊͳ͕Β΋ɺࢲͨͪ͸ӈهͷ͜ͱ͕ΒʹΑΓՁ஋Λ͓͘ɻ https://agilemanifesto.org/iso/ja/manifesto.html

Slide 8

Slide 8 text

ΤϯδχΞͱσʔλαΠΤϯςΟετͷҧ͍ • ϓϩμΫτΛ։ൃʢӡ༻ʣ͢ΔΤϯδχΞͱ 
 AIͳ࢓ࣄΛ͢ΔσʔλαΠΤϯςΟετ͸ಘҙෆಘҙ͕ҧ͏ • ྫ͑͹ΤϯδχΞ͸όʔδϣϯ؅ཧɾςετɾCIΛ΍Δ͕ 
 σʔλαΠΤϯςΟετ͸Ͱ͖Δਓ΋͍Ε͹Ͱ͖ͳ͍ਓ΋͍Δ 
 ʢͳ͓, ྆ํͰ͖ΔԽ͚෺͸গ਺Ͱ͕͢ଘࡏ͢Δʣ • ྆ऀʹٻΊΒΕΔεΩϧηοτɾελϯε͸ͥΜͥΜҧ͏ 
 ಉ͡PythonΛಡΈॻ͖͢Δʹͯ͠΋Ձ஋؍͕શ͘ҟͳΔ

Slide 9

Slide 9 text

https://shinyorke.hatenablog.com/entry/ml-ops-and-engineering

Slide 10

Slide 10 text

Agile͔͍͍ͭײ͡ʹίϥϘͯ͠΍Δํ๏ • ΤϯδχΞ΋σʔλαΠΤϯςΟετ΋WebΞϓϦΛϕʔεʹ • Jupyterͱຊ֨తͳWebΞϓϦͷؒͷࢠΈ͍ͨͳଘࡏ • ͻͱ·ͣϒϥ΢βͰݟͤΔఔ౓ͷ࠷௿ݶͷΞϓϦ • ࣮ݧίʔυͱϓϩμΫτίʔυͷҰ؏ੑ • ίϛϡχέʔγϣϯ͕ൃੜ͢ΔॴͰςετ • PoC΋ຊ൪΋ࣅͨΑ͏ͳߏ੒Ͱͭ͘ΔʢՄೳͳݶΓʣ

Slide 11

Slide 11 text

Jupyterͱຊ֨తͳWebΞϓϦͷ 
 ؒͷࢠΈ͍ͨͳଘࡏ ͦΕ͕Streamlit

Slide 12

Slide 12 text

StreamlitΛ࢖ͬͨര଎ϓϩτλΠϐϯά ࠓճ͸ʮΦΦλχαϯͷຊྥଧΛAI͕༧ଌ͢Δʯͱ͍͏ ࡶͳςʔϚͰ঺հ͠·͢

Slide 13

Slide 13 text

͜Μʹͪ͸Streamlitɹ˞ຊ൪Ͱ঺հ༧ఆ • ͻͱ·ͣಈ͔͢ɾݟͤΔ • ৭ʑ΍ͬͯΈΔʢformΛͭ͘ΔɾσʔλΛݟͤΔʣ • ΈΜͳʹ৮ͬͯ΋Β͏

Slide 14

Slide 14 text

ࠓ೔͸ͱΓ͋͑ͣσϞΛݟͤ·͢ https://twitter.com/shinyorke/status/1439933987120562181?s=20

Slide 15

Slide 15 text

ʲ༧ࠂʳPyCon JP 2021ຊ൪ͷ಺༰ • Streamlitͷݡ͍࢖͍ํ. ։ൃ͔ΒνʔϜ΁ͷڞ༗ɾσϞ·Ͱ • Streamlit͔ΒFlask΍FastAPIʹॻ͖׵͑Δલʹ΍Δ΂͖͜ͱ 
 ςετͱ͔ϦϑΝΫλϦϯάӠʑʢҰ෦ϒϩάΛॻ͘༧ఆʣ • Google App Engine΋͘͠͸Cloud RunʹΞϓϦΛσϓϩΠ 
 ௒༗໊ͳTV൪૊ͷTV๒ʹͲ͏΍ͬͯ଱͔͑ͨͷ͸ͳ͠

Slide 16

Slide 16 text

2021/10/16 11:40ϓϨΠϘʔϧ⽁ https://2021.pycon.jp/ དྷͯͶ

Slide 17

Slide 17 text

ήʔϜηοτ⚾ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠. Shinichi Nakagawa(Twitter/Facebook/etc… @shinyorke)