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
OOP for ML
Search
Hampen
August 29, 2020
Programming
2.7k
3
Share
OOP for ML
Object oriented proggraming for Machine learning implementation
Hampen
August 29, 2020
More Decks by Hampen
See All by Hampen
Tennis form visualization
hampen2929
1
2.2k
Feature vector calculation of tennis swing using Gaussian process regression and dissimilarity calculation by DTW distance
hampen2929
0
5.5k
Tennis swing recognition based on pose estimation and LightGBM
hampen2929
0
4.7k
Other Decks in Programming
See All in Programming
Back to the roots of date
jinroq
0
700
Road to RubyKaigi: Play Hard(ware)
makicamel
1
550
ðŠOpenClaw works with AWS
licux
1
330
cloudnative conference 2026 flyle
azihsoyn
0
110
Agentic Elixir
whatyouhide
0
440
Cache-moi si tu peux : patterns et piÚges du cache en production - Devoxx France 2026 - Conférence
slecache
0
330
Firefoxã«ã³ã³ããªãã¥ãŒã·ã§ã³ããŠåŸãããåŠã³
ken7253
2
150
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
180
ã¯ã©ãŠããã€ãã£ããªãšã³ãžãã¢ã«åãã Raycastã®é åãšå®éã®æŽ»çšäºäŸ
nealle
2
240
AWSã³ãã¥ããã£æŽ»åã¯é¡§å®¢ã®ã¯ã©ãŠããæšé²ã«å¹ãã®ã / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
170
Terraformèšèªã®éçè§£æ / static analysis of Terraform language
wata727
1
140
The Less-Told Story of Socket Timeouts
coe401_
3
970
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
500
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Designing for Timeless Needs
cassininazir
0
220
Whatâs in a name? Adding method to the madness
productmarketing
PRO
24
4k
Done Done
chrislema
186
16k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
340
Code Reviewing Like a Champion
maltzj
528
40k
The Invisible Side of Design
smashingmag
302
52k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in EdgeâCloud Continuum
chikuwait
0
510
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
160
Transcript
1 æ©æ¢°åŠç¿ã®å®è£ ããèãããªããžã§ã¯ãæå ã€ãã³ãïž PyCon2020 âœæïž 2020幎8âœ29âœ(âŒ) 16:30~ äŒå Žïž Zoom ååïž
ã¯ããºã(hampen2929)
2 âŸâŒ°çŽ¹ä» æäžž è£âœ® ãçµæŽã 2015幎 æ±å⌀åŠâŒ¯åŠéšåæ¥ 2016幎 Fraunhofer IISB
(ãã€ãçåŠ) 2018幎 æ±å⌀åŠâŒ€åŠé¢âŒ¯åŠç ç©¶ç§åæ¥ 2018幎 ITç³»äŒæ¥ã®Data scienceéšçœ²é å± ãä»äºã 2018幎 äºæž¬ã¢ãã«ã®æ§ç¯ãšåæ 2019幎 ç»åã»åç»ã®åæ 2020幎 åç»åæã¢ããªã±ãŒã·ã§ã³æ§ç¯ ããã©ã€ããŒãã ããã¹ã®åç»åæ æªèžAI ã¯ããºã (hampen2929)
3 ã¢ãžã§ã³ã èæ¯ ãªããžã§ã¯ãæåã®ç¹åŸŽ ãŸãšã å®è£ äŸã®ç¢ºèª ⌿ç¶ãåãšãªããžã§ã¯ãæå
4 æ¬çºè¡šã¯ç€ŸäŒâŒ3幎✬ã®çŸåšã®âŸåã瀟äŒâŒ1å¹Žâœ¬ã®æã«æ©æ¢°åŠç¿ã®å®è£ ãããäžã§ç¥ã£ ãŠããããã£ãããšè©±ãã®ã§ãå 容ã¯ååŠè ã®âœ åãã§ãã æ¬çºè¡šã®å¯Ÿè±¡è 説æ ⢠ååŠè ã®ããŒã¿ãµã€ãšã³ãã£ã¹ãã»æ©æ¢°åŠç¿ãšã³ãžãã¢ã§âŒ€åŠã§ã³ã³ãã¥ãŒã¿ãµã€ãšã³ã¹ãå 匷ããŠããªããæ©æ¢°åŠç¿ãªã©ã®å®è£ ããã✻✬ã«ãªã£ã⌠⢠Jupyter
notebookã§ã€ãã€ããšå®è£ ããã®ã«éçãæããŠãã⌠⢠ãªããžã§ã¯ãæåããããããªã⌠察象è èæ¯
5 æ©æ¢°åŠç¿ã®å®è£ ã¯åºæ¬çã«âŸãã®ã§ããªããžã§ã¯ãæåã®æžã✠ã§å°ãã§ãâŸããç·©åã§ããã ãšãçããã«ç¥ã£ãŠãããããšã✬çã§ãã æ¬çºè¡šã®âœ¬ç âŸã¿ãšããœãŒã ⢠Jupyter notebookã«ã€ãã€ããšå®è£ ãããŠãããšãæåã¯æ¥œãããã ãã ããšå€æ°ã®ç®¡ çãè€éã«ãªã£ãããåŠçã®ç¹°ãè¿ããªã©ã✬✎ã¡å§ã管çã⌀å€ã«ãªãã ããŒãããã¯ã®ç®¡ç
⢠å®è£ ãããçŽåŸãªããŸã ãããå®è£ ããŠããæéããã£ãåŸã«è€éãªåŠçã«å¯ŸããŠä¿®æ£ ãå ããã®ã¯âŒ€å€ã§èŠçã䌎ãäœæ¥ã«ãªã£ãŠããŸãã ä¿®æ£ãâŒ€å€ â¢ æè¡é²æ©ã®æ©ãæ©æ¢°åŠç¿ã®é åã«ãããŠãæ°ããç²ŸåºŠãæšè«é床ã«é¢ããŠåªãã⌿ æ³ãåºãŠããã®ã¯âœåžžè¶é£¯äºã§ãããããã«å¯Ÿå¿ããããã«æ¯åã¹ã¯ã©ããã§åŠçãå®è£ ããã®ã§ã¯æéãããããããŠããŸãã ã¢ãã«ã®æŽæ°ãé »ç¹ ãªããžã§ã¯ãæåã§å®è£ ããŠâŸã¿ãç·©å èæ¯
6 ã¢ããªã³ã°ãããéã«âŒ¿ç¶ãåãããªããžã§ã¯ãæåãžã®ãªãã¡ã¯ã¿ãªã³ã°ã®æºãåãããã ⌿ç¶ãåãšãªããžã§ã¯ãæå ⌿ç¶ãå ã¡ãªãã ⢠〈ããªããã°ã©ã ãæžãã«ã¯ã¡ããã©è¯ã ⢠ã³ãŒãã远ãããããã â¢
åŠç¿é£æåºŠãäœã ⢠åŠçã®åå©âœ€ãã§ãã ⢠ã¯ã©ã¹ãã«ãã»ã«åãç¶æ¿ãããªã¢ãŒã㣠ãºã ãšâŸã£ãç¹åŸŽã䜿✀ã§ãã ⢠修æ£ãå ããã®ãâœèŒç容æ ãªããžã§ã¯ãæå ãã¡ãªãã ⢠åŠçã®åå©âœ€ãã§ããªã ⢠ã°ããŒãã«å€æ° ⢠修æ£ãå ããã®ãé£ãã ⢠〈ããªããã°ã©ã ãæžãã«ã¯åããªã ⢠ã³ãŒãã远ãããã«ãã ⢠åŠç¿é£æåºŠã⟌ã ç¬åŠããã°ã©ããŒp144, ⌿ç¶ãåâŸèªãšã¯ïžãªããžã§ã¯ãæåâŸèªãšâœèŒããããããã解説ïžã¡ãªãããPythonã«ããããã®åã玹ä»ïž åæ ã¢ããªã³ã° ã¢ããªã³ã° ããã±ãŒãž ã·ã¹ãã äž»ãªâœ€é ⌿ç¶ãåãšãªããžã§ã¯ãæå
7 倿Žãããªãç®æã軞ã«ãé »ç¹ã«å€æŽãããã§ãããç®æãã¯ã©ã¹ã«æœåºãã â 倿Žã«å¯ŸããŠæè»ã«å¯Ÿå¿ã§ãã â å®è£ è ãæ¥œã§ãã ãªããªããžã§ã¯ãæåã§æžãã®ã ãªããžã§ã¯ãæåãš10幎æŠã£ãŠããã£ãããš å®è£ è ãæ¥œã§ãã ãªããªããžã§ã¯ãæåã§æžãã®ã
8 ãªããžã§ã¯ãæåã«ã¯ã¯ã©ã¹åãã«ãã»ã«åãç¶æ¿ãããªã¢ãŒãã£ãºã ã®4ã€ã®ç¹åŸŽãååšããã ãªããžã§ã¯ãæåã®ïŒâŒ€èŠçŽ ãªããžã§ã¯ãæåã§ãªãã€ããã®ãp106ãã¯ãªãŒã³ã¢ãŒããã¯ãã£ïŒã«ãã»ã«åãšã¯ïŒãç¬åŠããã°ã©ã㌠ã¯ã©ã¹å ã«ãã»ã«å ç¶æ¿ ããªã¢ãŒãã£ãºã â¢ å€æ°ãšã¡ãœãããåããšãã
ã«ãŸãšããããš â¢ å€æ°ãšã¡ãœãããåãåºãã 㚠⢠ããŒã¿ãã¯ã©ã¹å ã«é èœã ãŠå€ããâŸããªãããã㚠⢠ã¡ãœããã倿°ã芪ã¯ã©ã¹ãš åŒã°ããã¯ã©ã¹ããåãç¶ ãã㚠説æ ⢠åŠçã®äžããããŒã¿ãã¢ã ã«ãªã©ã®ã¯ã©ã¹ããŸãšãã ⢠ååŠçãæšè«ãåŸåŠç㪠ã©ãã¡ãœãããšããŠåãåºã ⢠ããŒã¿ãå€ããè§Šããªãã ãã«ãã ⢠ã¢ãã«ã«å¿ èŠãªåŠçã芪㯠ã©ã¹ã§å®çŸ©ããŠâŒŠã¯ã©ã¹ã« ç¶æ¿ããã æ©æ¢°åŠç¿ ã§ã®äŸ â¢ è€æ°ã®ã¯ã©ã¹ã§äžã®å®è£ ã éãã©ãåãã€ã³ã¿ãŒãã§ãŒ ã¹ã§å®è£ ãããã㚠⢠ã¢ãã«ã®ã¡ãœããåãåŒæ°ã è¿ãå€ãåãã«ããŠéãã¯ã© ã¹ãå®è£ ãã ⢠æŽçæŽé ããããŠã©ãã«ã© ã®åŠçããããããããã ãã ⢠✬çã®ã¡ãœããããšã«åãåº ãããŠããã®ã§ãä¿®æ£ãã ããã ⢠ããŒã¿ãå®ãããšãã§ãã â¢ å ±éã®åŠçãå®è£ ããªã㊠ãããªã ⢠å®è£ ã匷ããŠå®è£ éšåã æç¢ºã«ãªã å©ç¹ ⢠å©âœ€åŽããã¯äžã®ããžãã¯ ãæ°ã«ããå¿ èŠããªã ⢠ã¢ãã«ã®å€æŽããããã ãªããžã§ã¯ãæåã®ç¹åŸŽ
9 Pythonã®ã¢ãããŒãšããŠãã¿ããªâŒ€âŒãªãã ããããååšãããªãŒãã³ïŒãããªãã¯ïŒã§ããããšã㯠ããŒãºïŒãã©ã€ããŒãïŒã§ããããšããæçã§ãããšããææ³ãããã Pythonã«ã«ãã»ã«åã¯å¿ èŠãïž Effective Python第2çãé ✬42 ãã©ã€ããŒã屿§ãããããªãã¯ãªå±æ§ã奜ãŸãã ãããªãã¯å±æ§ ãã©ã€ããŒã屿§ â¢
ã¯ã©ã¹ã®å€ããã¯âŸãã䜿✀ ããããšãã§ããªã 説æ ⢠ã¯ã©ã¹ã®å€ããâŸããŠäœ¿âœ€ãã ããšãã§ãã class Hoge(): self.__huga = âpoyoâ å®è£ äŸ class Hoge(): self.huga = âpoyoâ ãªããžã§ã¯ãæåã®ç¹åŸŽ
10 ã¡ãœããåãåŒæ°ãè¿ãå€ãåãã§ããå ±éã®ã€ã³ã¿ãŒãã§ãŒã¹ãæããããšã§ãå©âœ€åŽããã¯äžã® ããžãã¯ãæ°ã«ããå¿ èŠããªããªããã¢ãã«ã®å€æŽããããããªãã ããªã¢ãŒãã£ãºã ããªã¢ãŒãã£ãºã ãã ã¢ãã«A ã¢ãã«B ã¢ãã«C compute compute
compute ã€ã³ã¿ãŒãã§ã€ã¹ãåãã ãã 䜿ããããã⪠class_name(str) image(JpegImageFile) class_name(str) image(JpegImageFile) class_name(str) image(JpegImageFile) ããªã¢ãŒãã£ãºã ãªã ã€ã³ã¿ãŒãã§ã€ã¹ãéããã 䜿ãã«ããã⊠ã¢ãã«A ã¢ãã«B ã¢ãã«C compute get_result inference class_name(str) image(JpegImageFile) class_name(list) image(np.ndarray) class_name(dict) image(Tensor) ãªããžã§ã¯ãæåã®ç¹åŸŽ
11 ç»ååé¡ã®ã¢ãã«ã®å®è£ ãäŸã«å®è£ ã確èªããŠããã å®è£ äŸã®ç¢ºèª å®è£ äŸã®ç¢ºèª ç»ååé¡ã¢ãã« compute âsports_carâ
12 ç»ååé¡ã¢ãã«ãå®è£ ããã«ãããã€ã³ã¿ãŒãã§ã€ã¹ãšæœè±¡ã¯ã©ã¹ãšå ·è±¡ã¯ã©ã¹ã®3ã€ã®ã¯ã©ã¹ã✀ã ãã ãªããžã§ã¯ãæåã3ã€ã®ã¯ã©ã¹ã«åããŠèãã ç»ååé¡ããŒã¹ã¢ãã«ã¯ã©ã¹ ïŒæœè±¡ã¯ã©ã¹ïŒ ããŒã¹ã¢ãã«ã¯ã©ã¹ ïŒã€ã³ã¿ãŒãã§ã€ã¹ïŒ ç»ååé¡ã¢ãã«ã¯ã©ã¹ ïŒå ·è±¡ã¯ã©ã¹ïŒ
⢠åã ã®ã¯ã©ã¹ç¹æã®åŠ çãå®è£ ãã 説æ â¢ å ±éã®åŠçãå®è£ ã ã â¢ å ·äœçãªåŠçã¯å®è£ ããã¯ã©ã¹ã®å€æ°ãã¡ ãœããã®ã¿ãå®çŸ©ãã ⢠åã ã®ç»ååé¡ã®ã¢ ãã«ç¹æã®åŠçãå® è£ ãã æ©æ¢°åŠç¿ ã§ã®äŸ ⢠ç»ååé¡ã®ã¢ãã«ã®å ± éã®åŠçãå®è£ ãã ⢠ã¢ãã«ã®åŠçã®æµãã å®çŸ©ãã å®è£ äŸã®ç¢ºèª
13 1. æ©æ¢°åŠç¿ã®ã¢ãã«ãšããŠã®æ¯ãèã 2. ç»ååé¡ã®å ±éã®åŠç 3. åã ã®âŒ¿æ³ã®ç»ååé¡ã¢ãã«ç¹æã®åŠç ã¯ã©ã¹åãšç¶æ¿ ç»ååé¡ã®åŠç ç»ååé¡ããŒã¹ã¢ãã«ã¯ã©ã¹
ïŒæœè±¡ã¯ã©ã¹ïŒ ããŒã¹ã¢ãã«ã¯ã©ã¹ ïŒã€ã³ã¿ãŒãã§ã€ã¹ïŒ ç»ååé¡ã¢ãã«ã¯ã©ã¹ ïŒå ·è±¡ã¯ã©ã¹ïŒ å®è£ äŸã®ç¢ºèª
14 ç»ååé¡ã®ããŒã¹ã¢ãã«ã¯ã©ã¹ãç¶æ¿ããŠâget_modelâã®ã¡ãœããããªãŒããŒã©ã€ãããã ãã§äœ æãå¯èœã§ããã ç¶æ¿ ç»ååé¡ã®ããŒã¹ã¢ãã«ã¯ã©ã¹ ç»ååé¡ã®ã¢ãã«ãã¡ å®è£ äŸã®ç¢ºèª
15 ã€ã³ã¿ãŒãã§ãŒã¹ãåããªã®ã§å✠ã®ã¢ãã«ã¯åãããã«äœ¿âœ€ã§ããã ããªã¢ãŒãã£ãºã ç»ååé¡ã®ããŒã¹ã¢ãã«ã¯ã©ã¹ ç»ååé¡ã®ã¢ãã«ãã¡ å®è£ äŸã®ç¢ºèª
16 ãªããžã§ã¯ãæåã✀ããããšã§âŸã¿ãå°ãã ãç·©åãããã ãŸãšã âŸã¿ãšããœãŒã ⢠Jupyter notebookã«ã€ãã€ããšå®è£ ãããŠãããšãæåã¯æ¥œãããã ãã ããšå€æ°ã®ç®¡ çãè€éã«ãªã£ãããåŠçã®ç¹°ãè¿ããªã©ã✬✎ã¡å§ã管çã⌀å€ã«ãªãã âã¯ã©ã¹ã«ãŸãšããŠåŠçãã¡ãœããã«åãåºããŠç®¡çãæ¥œã«ããããšãã§ã(ãã) ããŒãããã¯ã®ç®¡ç
⢠å®è£ ãããçŽåŸãªããŸã ãããå®è£ ããŠããæéããã£ãåŸã«è€éãªåŠçã«å¯ŸããŠä¿®æ£ ãå ããã®ã¯âŒ€å€ã§èŠçã䌎ãäœæ¥ã«ãªã£ãŠããŸãã âã¯ã©ã¹ãšã¡ãœãããåãåºãããŠä¿®æ£ç®æããããããããªã£ã ä¿®æ£ãâŒ€å€ â¢ æè¡é²æ©ã®æ©ãæ©æ¢°åŠç¿ã®é åã«ãããŠãæ°ããç²ŸåºŠãæšè«é床ã«é¢ããŠåªãã⌿ æ³ãåºãŠããã®ã¯âœåžžè¶é£¯äºã§ãããããã«å¯Ÿå¿ããããã«æ¯åã¹ã¯ã©ããã§åŠçãå®è£ ããã®ã§ã¯æéãããããããŠããŸãã âããªã¢ãŒãã£ãºã ã䜿ãããšã§ã¢ãã«ã®å·®ãæ¿ãã容æã«ãªã£ã ã¢ãã«ã®æŽæ°ãé »ç¹ ãŸãšã
17 n æ¬ Ã ãªããªããžã§ã¯ãæåã§æžãã®ã à ç¬åŠããã°ã©ã㌠à ã¯ãªãŒã³ã¢ãŒããã¯ã㣠Ã
Effective Python 第2ç à âŸâŸããã°ã©ã㌠n èšäº à ⌿ç¶ãåâŸèªãšã¯ïžãªããžã§ã¯ãæåâŸèªãšâœèŒããããããã解説ïžã¡ãªãããPythonã«ããã ãã®åã玹ä»ïž à ãªããžã§ã¯ãæåãš10幎æŠã£ãŠããã£ãããš åèâœç® ãŸãšã
18 ãéèŽããããšãããããŸããïž