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
実践Streamlit & Flask - AIプロジェクトをいい感じにする技術(予告編) / Web application development starting with Streamlit
Search
Shinichi Nakagawa
September 22, 2021
Programming
0
400
実践Streamlit & Flask - AIプロジェクトをいい感じにする技術(予告編) / Web application development starting with Streamlit
https://2021.pycon.jp/
の発表...のプロトタイプ
#Streamlit #WebDevelopment #DataScience
Shinichi Nakagawa
September 22, 2021
Tweet
Share
More Decks by Shinichi Nakagawa
See All by Shinichi Nakagawa
Terraform, GitHub Actions, Cloud Buildでデータ基盤をProvisioningする / Data Platform provisioning for Google Cloud and Terraform
shinyorke
2
2.1k
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
8
2.1k
自らを強いエンジニアにするための3つの習慣 / I need to be myself, I can't be no one else
shinyorke
76
53k
阪神タイガース優勝のひみつ - Pythonでシュッと調べた件 / SABRmetrics for Python
shinyorke
1
990
Pythonとクラウドと野球の推し活. / Baseball Data Platform for Python and Google Cloud
shinyorke
2
2.3k
月額コーヒー3.34杯分のコストでオオタニサンの活躍を見守るデータ基盤のはなし / Pyhack Con
shinyorke
2
390
俺のDXを実現するためのサーバレスなデータ基盤開発と運用 / Serverless Data Platform and Baseball
shinyorke
5
11k
機械学習エンジニアが目指すキャリアパスとその実話 / My Journey to Become a ML Engineer
shinyorke
6
14k
一人でも小さく始められるGoogle Cloudで実現するほぼサーバレスなデータ基盤 / Serverless Dataplatform for Google Cloud
shinyorke
0
450
Other Decks in Programming
See All in Programming
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.3k
Site Reliability Engineering for GMO
pyama86
8
1.1k
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
180
Polars入門
daikikatsuragawa
1
190
GitHub Copilotのススメ
marcy731
1
240
Balkan Ruby 2024 — How and why to run SQLite on Rails in production
fractaledmind
0
100
Domain-Driven Transformation
hschwentner
2
1.5k
Apache Hive 4 on Treasure Data
ryukobayashi
1
440
業務ツールとして使うPostman
msys75
0
110
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1.1k
Fragment Composition of GraphQL
quramy
13
1.5k
slow types ってなんだろう?
karad
0
120
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
The Language of Interfaces
destraynor
151
23k
KATA
mclloyd
16
12k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Code Review Best Practice
trishagee
56
15k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
Fireside Chat
paigeccino
22
2.6k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Gamification - CAS2011
davidbonilla
77
4.6k
Transcript
ʲԾʳ࣮ફStreamlit & Flask Shinichi Nakagawa(@shinyorke) kawasaki.rb #100 9/22 ※PyCon JP
2021ͷนଧͪʢσϞVerʣͰ͢ AIϓϩδΣΫτΛPoC͔Βຊ൪·Ͱ͍͍ײ͡ʹணͤ͞ΔPythonicͳΓ͔ͨ
Who am I ?ʢ͓લ୭Αʣ • Shinichi Nakagawaʢத ৳Ұʣ • େͷSNSͰʮshinyorkeʢ͠ΜΑʔ͘ʣʯͱ໊͍ͬͯ·͢
• Software Engineer & Data ScientistʢؚΉ⽁ʣ • ʲݩʳJX௨৴ࣾγχΞΤϯδχΞ ※9݄·Ͱ͓ੈʹͳΓ·ͨ͠🙇&10݄͔ΒͲ͔͜ͷίϯαϧͷਓ • #Python #DataScience #Baseball⚾ #SABRmetrics #σʔλج൫
͜ͷ͓ • ͓ࣄͰʮAIͰ͍͍ײ͡ʹͯ͘͠Εʯʮ2ϲ݄ޙʹຊ൪ϓϩμΫτ͕ ඞཁͳΜʂʯͱ͔ݴΘΕͨ࣌ʹɺࢲshinyorke͕ΤϯδχΞͱͯ͠Կ Λ͔ͨ͠?ͱ͍͏࣮ʹج͍ͮͨޠͰ͢ • ϓϩτλΠϓΛͬͨࣾͰͷ֓೦ݕূʢPoCʣ͔Βɺຊ൪ͰಥવTV ๒ʹͿͪͨΔʢߴෛՙରࡦʣ·ͰԿΛ͔ͨ͠͠·͢ • ࠓճॖ൛ʢนଧͪ൛ʣͳͷͰͱΓ͋͑ͣPoCͷΛ
͓͠ͳ͕͖ • AIϓϩδΣΫτΛޭͤ͞ΔͨΊʹඞཁͳߟ͑ํͱελϯε • StreamlitΛͬͨരϓϩτλΠϐϯά • ʲTBDʳStreamlitͳϓϩτλΠϓΛݩʹFlaskͰຊ൪ΞϓϦ • ʲTBDʳͬͯΔͱศར͔͠Εͳ͍Tips. GCPͱ͔ը૾ੜͱ͔.
ʲTBDʳͷPyCon JP 2021ຊ൪Ͱొʢ͢Δ͔ʣ
AIϓϩδΣΫτʹඞཁͳߟ͑ํ is 🤔 • ػහʢAgileʣʹ, ಈ͘ͷϕʔεͰίϛϡχέʔγϣϯ • σʔλαΠΤϯςΟετͱΤϯδχΞͷҧ͍Λཧղ͢Δ ଞʹҰഋ͋Γͦ͏Ͱ͕͢ͻͱ·ͣ͜ͷ2͕ͭ͋Δͱ͍͍͔ͳ
Agileͳ։ൃ • ෆ࣮֬ੑ͕ߴ͍, AIɾػցֶशͳϓϩδΣΫτͦ͜ ʮಈ͘ιϑτΣΞʯΛݩʹ։ൃ͠Α͏ • PoCͱ͍͑, ͳΔ͘ຊ൪͕ΠϝʔδͰ͖Δಈ͘
ΞϓϦέʔγϣϯͰձ͢Δͷ͕͍͍ͱࢥ͏ʢೝࣝҧ͍ͷࢭʣ • Ұํ, खΛൈ͚ΔॴखΛൈ͖·͘Ζ͏ υΩϡϝϯτΛἧ͑Δͱ͔, σβΠϯ͑Δͱ͔etc…
ߟ͑ํΞδϟΠϧϚχϑΣετͦͷͷ ࢲͨͪɺιϑτΣΞ։ൃͷ࣮ફ ͋Δ͍࣮ફΛखॿ͚Λ͢Δ׆ಈΛ௨ͯ͡ɺ ΑΓΑ͍։ൃํ๏Λݟ͚ͭͩͦ͏ͱ͍ͯ͠Δɻ ͜ͷ׆ಈΛ௨ͯ͠ɺࢲͨͪҎԼͷՁʹࢸͬͨɻ ϓϩηεπʔϧΑΓݸਓͱରΛɺ แׅతͳυΩϡϝϯτΑΓಈ͘ιϑτΣΞΛɺ ܖަবΑΓސ٬ͱͷڠௐΛɺ ܭըʹै͏͜ͱΑΓมԽͷରԠΛɺ Ձͱ͢Δɻ͢ͳΘͪɺࠨهͷ͜ͱ͕ΒʹՁ͕͋Δ͜ͱΛ
ೝΊͳ͕Βɺࢲͨͪӈهͷ͜ͱ͕ΒʹΑΓՁΛ͓͘ɻ https://agilemanifesto.org/iso/ja/manifesto.html
ΤϯδχΞͱσʔλαΠΤϯςΟετͷҧ͍ • ϓϩμΫτΛ։ൃʢӡ༻ʣ͢ΔΤϯδχΞͱ AIͳࣄΛ͢ΔσʔλαΠΤϯςΟετಘҙෆಘҙ͕ҧ͏ • ྫ͑ΤϯδχΞόʔδϣϯཧɾςετɾCIΛΔ͕ σʔλαΠΤϯςΟετͰ͖Δਓ͍ΕͰ͖ͳ͍ਓ͍Δ
ʢͳ͓, ྆ํͰ͖ΔԽ͚গͰ͕͢ଘࡏ͢Δʣ • ྆ऀʹٻΊΒΕΔεΩϧηοτɾελϯεͥΜͥΜҧ͏ ಉ͡PythonΛಡΈॻ͖͢Δʹͯ͠Ձ؍͕શ͘ҟͳΔ
https://shinyorke.hatenablog.com/entry/ml-ops-and-engineering
Agile͔͍͍ͭײ͡ʹίϥϘͯ͠Δํ๏ • ΤϯδχΞσʔλαΠΤϯςΟετWebΞϓϦΛϕʔεʹ • Jupyterͱຊ֨తͳWebΞϓϦͷؒͷࢠΈ͍ͨͳଘࡏ • ͻͱ·ͣϒϥβͰݟͤΔఔͷ࠷ݶͷΞϓϦ • ࣮ݧίʔυͱϓϩμΫτίʔυͷҰ؏ੑ •
ίϛϡχέʔγϣϯ͕ൃੜ͢ΔॴͰςετ • PoCຊ൪ࣅͨΑ͏ͳߏͰͭ͘ΔʢՄೳͳݶΓʣ
Jupyterͱຊ֨తͳWebΞϓϦͷ ؒͷࢠΈ͍ͨͳଘࡏ ͦΕ͕Streamlit
StreamlitΛͬͨരϓϩτλΠϐϯά ࠓճʮΦΦλχαϯͷຊྥଧΛAI͕༧ଌ͢Δʯͱ͍͏ ࡶͳςʔϚͰհ͠·͢
͜ΜʹͪStreamlitɹ˞ຊ൪Ͱհ༧ఆ • ͻͱ·ͣಈ͔͢ɾݟͤΔ • ৭ʑͬͯΈΔʢformΛͭ͘ΔɾσʔλΛݟͤΔʣ • ΈΜͳʹ৮ͬͯΒ͏
ࠓͱΓ͋͑ͣσϞΛݟͤ·͢ https://twitter.com/shinyorke/status/1439933987120562181?s=20
ʲ༧ࠂʳPyCon JP 2021ຊ൪ͷ༰ • Streamlitͷݡ͍͍ํ. ։ൃ͔ΒνʔϜͷڞ༗ɾσϞ·Ͱ • Streamlit͔ΒFlaskFastAPIʹॻ͖͑ΔલʹΔ͖͜ͱ ςετͱ͔ϦϑΝΫλϦϯάӠʑʢҰ෦ϒϩάΛॻ͘༧ఆʣ
• Google App Engine͘͠Cloud RunʹΞϓϦΛσϓϩΠ ༗໊ͳTV൪ͷTV๒ʹͲ͏͔ͬͯ͑ͨͷͳ͠
2021/10/16 11:40ϓϨΠϘʔϧ⽁ https://2021.pycon.jp/ དྷͯͶ
ήʔϜηοτ⚾ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠. Shinichi Nakagawa(Twitter/Facebook/etc… @shinyorke)