Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Daiki Ikeshima
September 27, 2024
Technology
1.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
PyConJp2024 day1
Daiki Ikeshima
September 27, 2024
More Decks by Daiki Ikeshima
See All by Daiki Ikeshima
gokartのキャッシュ競合防止のロック機能
mski_iksm
0
2.7k
macのunicode正規化.pdf
mski_iksm
0
41k
実臨床・Webサービス領域での機械学習研究 開発の標準化
mski_iksm
8
27k
高速化・並列化・標準化で スケールするML予測システムの開発
mski_iksm
5
3.3k
pythonでメタプログラミング(メタクラス編)
mski_iksm
1
590
パイプラインツールgokartのタスク競合を解消した話
mski_iksm
0
280
Other Decks in Technology
See All in Technology
sue445's proposals 2026
sue445
0
110
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
300
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
250
Rust で関数型ドメインモデリング
takonda
0
170
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
190
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
110
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
320
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
Local CI × GitHub Actions
gogutan
3
230
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
200
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
140
価値について
gree_tech
PRO
0
110
Featured
See All Featured
Bash Introduction
62gerente
615
220k
A better future with KSS
kneath
240
18k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
A Tale of Four Properties
chriscoyier
163
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Are puppies a ranking factor?
jonoalderson
2
4.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
What's in a price? How to price your products and services
michaelherold
247
13k
Code Review Best Practice
trishagee
74
20k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Transcript
ΤϜεϦʔגࣜձࣾౢେथ .-0QTͷʮ͋Δ͋Δʯ՝ͷղܾ ͱɺͦͷͨΊͷϥΠϒϥϦHPLBSU 1Z$PO+1
ػցֶशͷʮ͋Δ͋Δʯ՝ͱͦͷղܾ ࣮ݧΛຊ൪Ͱ࠶ݱͰ͖ͳ͍ όʔδϣϯཧ͕໘ ಉ͡ॲཧΛ܁Γฦͨ͘͠ͳ͍ ؔΛॏෳͯ͠࡞Γͨ͘ͳ͍ ॻ͖ํ͕Βͭ͘ શ࣮ݧ݁ՌΛઃఆͱϖΞͰอଘ σʔλͷύΠϓϥΠϯΛཧ ඞཁͳ෦Λٯࢉͯ͠࠶࣮ߦ ڞ௨λεΫू
ॻ͖ํͷඪ४ԽΛڧ੍
UBLFIPNFNFTTBHF ػցֶशΔͳΒ pip install gokart ɾػցֶशࢼߦࡨޡ͕ඞཁ͕ͩɺ࣮ݧཧ͕ࠞཚ͕ͪ͠Ͱਏ͍ ɾղܾϊϋΛ٧ΊࠐΜͩϥΠϒϥϦHPLBSUΛ։ൃ ɾΤϜεϦʔͰΛ͑ΔϚΠΫϩαʔϏεʹϊϋΛ ԣల։͢ΔͨΊʹHPLBSUΛ׆༻
ࣗݾհ ΤϜεϦʔגࣜձࣾ "*ɾػցֶशνʔϜɹػցֶशΤϯδχΞ ɾϢʔβʔڵຯτϐοΫਪܭγεςϜͷ։ൃ ɾ--.ΛͬͨهࣄτϐοΫநग़γεςϜͷ։ൃ ౢେथʢ9!NTLJ@JLTNʣ
ΤϜεϦʔNDPNΛத৺ͱͨ͠ҩྍܥXFCاۀ
ΤϜεϦʔҩࢣҎ֎͚ͷαʔϏεڧԽத ͍Ζ͍ΖͬͯΔҩྍܥXFCاۀ
.-0QTʮ͋Δ͋Δʯ՝ͷղܾͱͦͷͨΊͷϥΠϒϥϦHPLBSU ɾ෦ۙʹͳͬͨػցֶशʹજΉਏΈ ɾ෦ػցֶश͋Δ͋Δ՝ͷղܾͱHPLBSU ɾ෦HPLBSUͰύΠϓϥΠϯΛॻ͍ͯΈΔ
ػցֶश͍ͬͯ·͔͢ʁ
ΤϜεϦʔͰ༷ʑͳྖҬͰػցֶशϓϩμΫτΛ։ൃ 8FC͔Βҩྍྟচ·Ͱ෯͘Ҏ্ͷػցֶशϓϩμΫτΛ։ൃ
ػցֶशϓϩμΫτͷ࡞Γํ
Ϣʔβʔʹ͋ͬͨχϡʔεΛग़͢XFCαΠτΛ࡞Δ Ϣʔβʔ ϨίϝϯυγεςϜ χϡʔεαΠτ ػցֶश Ϟσϧ
Ϣʔβʔʹ͋ͬͨχϡʔεΛग़͢XFCαΠτΛ࡞Δ Ϣʔβʔ ϨίϝϯυγεςϜ ࣮ݧڥ χϡʔεαΠτ σʔλϕʔε ूܭσʔλ ػցֶशϞσϧ ධՁ ΠϚΠνʜ
Ϣʔβʔʹ͋ͬͨχϡʔεΛग़͢XFCαΠτΛ࡞Δ Ϣʔβʔ ࣮ݧڥ χϡʔεαΠτ σʔλϕʔε ػցֶशϞσϧ ධՁ ͍͍ײ͡ʂ ϨίϝϯυγεςϜ ूܭσʔλ
Ϣʔβʔʹ͋ͬͨχϡʔεΛग़͢XFCαΠτΛ࡞Δ Ϣʔβʔ ຊ൪ڥ χϡʔεαΠτ σʔλϕʔε ػցֶशϞσϧ ϨίϝϯυγεςϜ ूܭσʔλ
Ϣʔβʔʹ͋ͬͨχϡʔεΛग़͢XFCαΠτΛ࡞Δ Ϣʔβʔ ຊ൪ڥ χϡʔεαΠτ σʔλϕʔε ػցֶशϞσϧ σʔλ͕มΘΓ͏ΔͷͰϑϩʔ͝ͱߏங͢Δ ϨίϝϯυγεςϜ ूܭσʔλ
Ϣʔβʔʹ͋ͬͨχϡʔεΛग़͢XFCαΠτΛ࡞Δ Ϣʔβʔ ຊ൪ڥ χϡʔεαΠτ σʔλϕʔε ػցֶशϞσϧ σʔλ͕มΘΓ͏ΔͷͰϑϩʔ͝ͱߏங͢Δ ΓऔΓ Ͱ͖ΔΑ͏ʹ ϨίϝϯυγεςϜ
ूܭσʔλ
ػցֶश͔ͳΓۙʹͳͬͨ ʜ͚Ͳಛ༗ͷ໘ϙΠϯτ͋Γ·ͤΜ͔ʁ
࣮ݧͰ͏·͍͚ͬͨ͘Ͳɺ ຊ൪ӡ༻࣌ʹͳΜ͔ͪΐͬͱϞσϧ͕ҧ͏ ࣮ݧڥ ຊ൪ڥ ͱ͍͍ͯϞσϧʂ
࣮ݧͰ͏·͍͚ͬͨ͘Ͳɺ ຊ൪ӡ༻࣌ʹͳΜ͔ͪΐͬͱϞσϧ͕ҧ͏ ࣮ݧڥ ຊ൪ڥ ͱ͍͍ͯϞσϧʂ ͍·͍ͪͳϞσϧ
ੜσʔλ ͪΐͬͱσʔλΛมߋ͚ͨ͠ͲɺͲͷεΫϦϓτ ΛΓ͍͍ͤͷʁ ूܭσʔλ ػցֶशϞσϧ
ੜσʔλ ͪΐͬͱσʔλΛมߋ͚ͨ͠ͲɺͲͷεΫϦϓτ ΛΓ͍͍ͤͷʁ ػցֶशϞσϧ ߋ৽ ूܭσʔλ
ੜσʔλ ͪΐͬͱσʔλΛมߋ͚ͨ͠ͲɺͲͷεΫϦϓτ ΛΓ͍͍ͤͷʁ ػցֶशϞσϧ ߋ৽ ूܭσʔλ
ੜσʔλ ͪΐͬͱσʔλΛมߋ͚ͨ͠ͲɺͲͷεΫϦϓτ ΛΓ͍͍ͤͷʁ ػցֶशϞσϧ ߋ৽ ूܭσʔλ
ੜσʔλ ͪΐͬͱσʔλΛมߋ͚ͨ͠ͲɺͲͷεΫϦϓτ ΛΓ͍͍ͤͷʁ ػցֶशϞσϧ ߋ৽ ूܭσʔλ
ੜσʔλ ͪΐͬͱσʔλΛมߋ͚ͨ͠ͲɺͲͷεΫϦϓτ ΛΓ͍͍ͤͷʁ ಛྔσʔλ ػցֶशϞσϧ ߋ৽ @μϯϩʔυ"QZ @डྖ@μϯϩʔυ#QZ @ެ։σʔλ@μϯϩʔυ$QZ @ಛྔ࡞9999QZ
@ಛྔ࡞:::::QZ @Ϟσϧֶश@ೲ൛QZ
ੜσʔλ ͪΐͬͱσʔλΛมߋ͚ͨ͠ͲɺͲͷεΫϦϓτ ΛΓ͍͍ͤͷʁ ಛྔσʔλ ػցֶशϞσϧ ߋ৽ @μϯϩʔυ"QZ @डྖ@μϯϩʔυ#QZ @ެ։σʔλ@μϯϩʔυ$QZ @ಛྔ࡞9999QZ
@ಛྔ࡞:::::QZ @Ϟσϧֶश@ೲ൛QZ
ੜσʔλ ͪΐͬͱσʔλΛมߋ͚ͨ͠ͲɺͲͷεΫϦϓτ ΛΓ͍͍ͤͷʁ ಛྔσʔλ ػցֶशϞσϧ ߋ৽ @μϯϩʔυ"QZ @डྖ@μϯϩʔυ#QZ @ެ։σʔλ@μϯϩʔυ$QZ @ಛྔ࡞9999QZ
@ಛྔ࡞:::::QZ @Ϟσϧֶश@ೲ൛QZ
ੜσʔλ ͪΐͬͱσʔλΛมߋ͚ͨ͠ͲɺͲͷεΫϦϓτ ΛΓ͍͍ͤͷʁ ಛྔσʔλ ػցֶशϞσϧ ߋ৽ @μϯϩʔυ"QZ @डྖ@μϯϩʔυ#QZ @ެ։σʔλ@μϯϩʔυ$QZ @ಛྔ࡞9999QZ
@ಛྔ࡞:::::QZ @Ϟσϧֶश@ೲ൛QZ
ੜσʔλ ͪΐͬͱσʔλΛมߋ͚ͨ͠ͲɺͲͷεΫϦϓτ ΛΓ͍͍ͤͷʁ ಛྔσʔλ ػցֶशϞσϧ ߋ৽ @μϯϩʔυ"QZ @डྖ@μϯϩʔυ#QZ @ެ։σʔλ@μϯϩʔυ$QZ @ಛྔ࡞9999QZ
@ಛྔ࡞:::::QZ @Ϟσϧֶश@ೲ൛@࠷ऴ@WQZ @Ϟσϧֶश@ೲ൛@࠷ऴ@WQZ @Ϟσϧֶश@ೲ൛QZ
.-0QTʮ͋Δ͋Δʯ՝ͷղܾͱͦͷͨΊͷϥΠϒϥϦHPLBSU ɾ෦ۙʹͳͬͨػցֶशʹજΉਏΈ ɾ෦ػցֶश͋Δ͋Δ՝ͷղܾͱHPLBSU ɾ෦HPLBSUͰύΠϓϥΠϯΛॻ͍ͯΈΔ ػցֶशࢼߦࡨޡ͕ඞཁ͕ͩɺ σʔλίʔυ͙ͪΌ͙ͪΌʹͳΓ͕ͪͰਏ͍
.-0QTʮ͋Δ͋Δʯ՝ͷղܾͱͦͷͨΊͷϥΠϒϥϦHPLBSU ɾ෦ۙʹͳͬͨػցֶशʹજΉਏΈ ɾ෦ػցֶश͋Δ͋Δ՝ͷղܾͱHPLBSU ɾ෦HPLBSUͰύΠϓϥΠϯΛॻ͍ͯΈΔ
ػցֶशͷʮ͋Δ͋Δʯ՝ͱͦͷղܾ ࣮ݧΛຊ൪Ͱ࠶ݱͰ͖ͳ͍ όʔδϣϯཧ͕໘ ಉ͡ॲཧΛ܁Γฦͨ͘͠ͳ͍ ؔΛॏෳͯ͠࡞Γͨ͘ͳ͍ ॻ͖ํ͕Βͭ͘ શ࣮ݧ݁ՌΛઃఆͱϖΞͰอଘ σʔλͷύΠϓϥΠϯΛཧ ඞཁͳ෦Λٯࢉͯ͠࠶࣮ߦ ڞ௨λεΫू
ॻ͖ํͷඪ४ԽΛڧ੍ վળϊϋΛύΠϓϥΠϯπʔϧHPLBSU ʹө͠ɺ։ൃɾ׆༻
HPLBSU1ZUIPOͷύΠϓϥΠϯπʔϧ ॲཧΛλεΫͱݺΕΔΫϥεͰఆٛ͠ɺͦΕΛ࿈݁ͯ͠ύΠϓϥΠϯ Λߏங͢Δɻ HPLBSUλεΫͷґଘؔΛղܾ͠ͳ͕Β࣮ߦ͢Δɻ ΤϜεϦʔͷϝϯόʔΛத৺ʹ044ͱͯ͠։ൃ͞Ε͍ͯΔ 1ZUIPOͷπʔϧ %PXOMPBE6TFS-JTU ूܭσʔλ࡞λεΫ σʔλ μϯϩʔυ
ͷλεΫ %PXOMPBE$MJDL%BUB .BLF'FBUVSF%BUB
ػցֶशͷ͋Δ͋Δ՝ͱͦͷղܾ
՝ᶃɿ࣮ݧͨ͠ػցֶशϞσϧͷ࠶ݱੑ͕ͳ͍ ࣮ݧͰ͏·͍͚ͬͨ͘Ͳɺ ຊ൪ӡ༻࣌ʹͳΜ͔ͪΐͬͱϞσϧ͕ҧ͏ ࣮ݧͱಉ͡Ϟσϧͷ࠶ݱ͕Ͱ͖ͳ͘ͳͬͯ͠·͏ ɾϞσϧͷϋΠύʔύϥϝʔλΛอଘͦ͠ͼΕͨ ɾϥϯμϜγʔυ͕ζϨͨ ɾσʔλ͕มΘͬͨ
՝ᶃɿ࣮ݧͨ͠ػցֶशϞσϧͷ࠶ݱੑ͕ͳ͍ ࣮ݧͰ͏·͍͚ͬͨ͘Ͳɺ ຊ൪ӡ༻࣌ʹͳΜ͔ͪΐͬͱϞσϧ͕ҧ͏ ࣮ݧͱಉ͡Ϟσϧͷ࠶ݱ͕Ͱ͖ͳ͘ͳͬͯ͠·͏ ɾϞσϧͷϋΠύʔύϥϝʔλΛอଘͦ͠ͼΕͨ ɾϥϯμϜγʔυ͕ζϨͨ ɾσʔλ͕มΘͬͨ ઃఆ num_leaves: 31
lambda_l1: 0.1 drop_rate: ? Εͨ
՝ᶃɿ࣮ݧͨ͠ػցֶशϞσϧͷ࠶ݱੑ͕ͳ͍ ࣮ݧͰ͏·͍͚ͬͨ͘Ͳɺ ຊ൪ӡ༻࣌ʹͳΜ͔ͪΐͬͱϞσϧ͕ҧ͏ ࣮ݧͱಉ͡Ϟσϧͷ࠶ݱ͕Ͱ͖ͳ͘ͳͬͯ͠·͏ ɾϞσϧͷϋΠύʔύϥϝʔλΛอଘͦ͠ͼΕͨ ɾϥϯμϜγʔυ͕ζϨͨ ɾσʔλ͕มΘͬͨ ·Δ͝ͱΕͨ ઃఆ num_leaves:
31 lambda_l1: 0.1 drop_rate: 0.1 random.seed(42) np.random.seed(42) torch.manual_seed(42) TFFEݻఆ
՝ᶃɿ࣮ݧͨ͠ػցֶशϞσϧͷ࠶ݱੑ͕ͳ͍ ࣮ݧͰ͏·͍͚ͬͨ͘Ͳɺ ຊ൪ӡ༻࣌ʹͳΜ͔ͪΐͬͱϞσϧ͕ҧ͏ ࣮ݧͱಉ͡Ϟσϧͷ࠶ݱ͕Ͱ͖ͳ͘ͳͬͯ͠·͏ ɾϞσϧͷϋΠύʔύϥϝʔλΛอଘͦ͠ͼΕͨ ɾϥϯμϜγʔυ͕ζϨͨ ɾσʔλ͕มΘͬͨ ֶशσʔλ ਓՃ
ղܾᶃશ࣮ݧ݁ՌΛઃఆͱϖΞͰอଘ HPLBSU్தॲཧ݁ՌΛϑΝΠϧʹอଘ͢ΔͷͰɺ ࣮ݧ݁ՌΛຊ൪ӡ༻Ͱ࠶ݱͰ͖Δ ࣮ݧ݁ՌΛͦͷઃఆͱؔ࿈͚ͯϑΝΠϧʹอଘɻ ຊ൪Ͱ࣮ݧͰ࡞ͬͨϞσϧΛࢀরͰ͖Ε݁ՌͣΕͳ͘ͳΔɻ ूܭσʔλ ੜσʔλ Ϟσϧ ϑΝΠϧʹ อଘ
՝ᶄɿϞσϧͷόʔδϣϯཧ͕໘ ͍ͬͺ͍࣮ݧͨ͠ΒɺͲͷΈ߹Θ͕ͤੑೳ ྑ͔ͬͨͷ͔Θ͔Βͳ͘ͳͬͨ ઃఆɾσʔλɾֶशࡁΈϞσϧϑΝΠϧɾ݁Ռ$47ɾੑೳ ΛΈ߹Θͤͯอଘɾཧ͕ඞཁ ઃఆ Ϟσϧ ಛྔ W W
W W W@ W " # W
՝ᶄɿϞσϧͷόʔδϣϯཧ͕໘ ͍ͬͺ͍࣮ݧͨ͠ΒɺͲͷΈ߹Θ͕ͤੑೳ ྑ͔ͬͨͷ͔Θ͔Βͳ͘ͳͬͨ ઃఆɾσʔλɾֶशࡁΈϞσϧϑΝΠϧɾ݁Ռ$47ɾੑೳ ΛΈ߹Θͤͯอଘɾཧ͕ඞཁ ઃఆ Ϟσϧ ಛྔ W W
W W W@ W " # W
ղܾᶄσʔλͷ࡞ΓํΛύΠϓϥΠϯͱͯ͠ཧ HPLBSUͩͱઃఆ͔ΒύΠϓϥΠϯΛ࠶ݱͰ͖ΔͷͰɺ σʔλΛΈ߹ΘͤͯͷཧίετΛݮͰ͖Δ ઃఆϑΝΠϧͰσʔλɾϞσϧͷ࡞ΓํͰ͋ΔύΠϓϥΠϯΛఆٛɻ ύΠϓϥΠϯ͔ΒσʔλΛ࠶ݱͰ͖ΔͳΒɺઃఆϑΝΠϧͷཧ͚ͩͰ0,ɻ ಛྔ Ϟσϧ ݁Ռ W
՝ᶅɿॏෳͨ͠ॲཧΛ܁Γฦ͢ͷਏ͍ ϞσϧΛͪΐͬͱม͑Δ͚ͩͳͷʹɺ σʔλܗ͔Βશ෦࠶࣮ߦ͢Δͷඇޮ͗͢Δ ͪΐͬͱઃఆΛม͑ͨϞσϧΛࢼ͢ͷʹɺશ෦Λ࠶࣮ߦ͢Δͷແବ͕ ଟͯ͘ਏ͍ɻ ੜσʔλ ूܭσʔλ ػցֶशϞσϧ
ղܾᶅඞཁͳ෦͚ͩΛٯࢉͯ͠࠶࣮ߦ HPLBSUɺઃఆʹมߋ͕͋ΔͳͲɺ ࠶࣮ߦ͕ඞཁͳ෦͚ͩΛ࣮ߦͯ͘͠ΕΔ ߋ৽ͷӨڹΛड͚Δɺඞཁͳ෦͚ͩΛ࠶࣮ߦ͢Δɻ HPLBSUͷඞཁͳ෦͚ͩΛ࠶࣮ߦ͢ΔػೳΛ׆༻ɻ ߋ৽ ੜσʔλ ूܭσʔλ ػցֶशϞσϧ
HPLBSUͷϑΝΠϧͷ໋໊γεςϜͷಛ ϑΝΠϧ໊ɺґଘ͢ΔσʔλɾίʔυͰܾ·Δɻ ґଘσʔλɾίʔυ͕มΘΔͱϑΝΠϧ໊มߋʹͳΓɺ࠶࣮ߦ͢Δɻ ϋογϡɿ BD σʔλ@BDQLM σʔλ σʔλूܭ ࡞ࡁΈ Ωϟογϡώοτ͢ΔͷͰεΩοϓ
ϋογϡɿ FDG σʔλ@FDGQLM มߋ σʔλ ະ࡞ HPLBSUͷϑΝΠϧͷ໋໊γεςϜͷಛ ϑΝΠϧ໊ɺґଘ͢ΔσʔλɾίʔυͰܾ·Δɻ ґଘσʔλɾίʔυ͕มΘΔͱϑΝΠϧ໊มߋʹͳΓɺ࠶࣮ߦ͢Δɻ σʔλूܭ
Ωϟογϡώοτ͠ͳ͍ ͷͰ࠶࣮ߦ
ϋογϡɿ FDG σʔλ@FDGQLM มߋ σʔλ ࡞ࡁΈ HPLBSUͷϑΝΠϧͷ໋໊γεςϜͷಛ ϑΝΠϧ໊ɺґଘ͢ΔσʔλɾίʔυͰܾ·Δɻ ґଘσʔλɾίʔυ͕มΘΔͱϑΝΠϧ໊มߋʹͳΓɺ࠶࣮ߦ͢Δɻ σʔλूܭ
Ωϟογϡώοτ͢ΔͷͰεΩοϓ
՝ᶆɿࣅͨΑ͏ͳ͕ؔϓϩμΫτ͝ͱʹॏෳͯ͠࡞ΒΕΔ ࣅ͕ͨؔ͋ͬͪʹͬͪ͜ʹ͋Γɺ ϝϯςφϯείετ͕େ͖͗͢ σʔλͷμϯϩʔυಛྔ࡞ͳͲɺͲͷϓϩμΫτͰڞ௨͢Δ ॲཧ͕͍ΖΜͳϦϙδτϦʹॏෳͯ͠࡞ΒΕΔɻ def download_by_id(id): … def download(id,
count): … ϨϙδτϦ" ϨϙδτϦ#
ղܾᶆϚΠΫϩαʔϏε͕ͩڞ௨λεΫू ڞ༗Մೳͳͷ༗ޮ׆༻ ंྠͷ࠶ൃ໌Λࢭ͢ΔΈͮ͘Γ ڞ༗ͷϨϙδτϦʹ࣮ɻ HPLBSUλεΫͰ࣮͠ɺͲͷϓϩμΫτͷύΠϓϥΠϯʹܨ͗͜ΊΔɻ import DownloadTask ϨϙδτϦ" ϨϙδτϦ# import
DownloadTask ࣾίʔυݕࡧج൫ͰΓ͍ͨ͜ͱʹ͍ۙίʔυ͕ͳ͍͔୳ͤΔ
՝ᶇɿ։ൃऀʹΑͬͯॻ͖ํʹΒ͖͕ͭ͋ΓɺಡΈʹ͍͘ ओ୲ऀҎ֎͕ϓϩμΫτʹίϛοτ͠Α͏ͱ ͯ͠Θ͔Βͳ͍ ɾͲ͏͍͏ॱʹ࣮ߦ͢Ε͍͍ͷ͔͔Βͳ͍ ɾσΟϨΫτϦ͕ෳࡶͰɺΤϯυϙΠϯτͷॴ͕ݟͨΒͳ͍ ɾΫϥεͷཻͱ͔̍ߦͷ͞ͳͲɺࡉ͔͍ॻ͖ํͷҧ͍͕ؾʹͳΔ
ɾͲ͏͍͏ॱʹ࣮ߦ͢Ε͍͍ͷ͔͔Βͳ͍ ɾσΟϨΫτϦ͕ෳࡶͰɺΤϯυϙΠϯτͷॴ͕ݟͨΒͳ͍ ɾΫϥεͷཻͱ͔̍ߦͷ͞ͳͲɺࡉ͔͍ॻ͖ํͷҧ͍͕ؾʹͳΔ HPLBSU DPPLJFDVUUFS DSVGU SV ff Ͱॻ͖ํΛඪ४Խ ˠHPLBSUͰύΠϓϥΠϯʹ࣮ߦॱ͕ॻ͔Ε͍ͯΔ
ˠDPPLJFDVUUFSͰσΟϨΫτϦߏΛඪ४Խ͍ͯ͠Δ ˠDSVGUͰɺݹ͍ϓϩμΫτ࠷৽ͷܗʹै͢Δ ˠHPLBSUͷॻ͖ํ͕͋ΔͷͰΫϥεཻͳͲ͕ҰఆʹͳΔ ˠSV ff ͰϑΥʔϚοτΛ౷Ұ͢Δ ղܾᶇॻ͖ํͷඪ४ԽΛڧ੍͢Δ
ɾͲ͏͍͏ॱʹ࣮ߦ͢Ε͍͍ͷ͔͔Βͳ͍ ɾσΟϨΫτϦ͕ෳࡶͰɺΤϯυϙΠϯτͷॴ͕ݟͨΒͳ͍ ɾΫϥεͷཻͱ͔̍ߦͷ͞ͳͲɺࡉ͔͍ॻ͖ํͷҧ͍͕ؾʹͳΔ HPLBSU DPPLJFDVUUFS DSVGU SV ff Ͱॻ͖ํΛඪ४Խ ˠHPLBSUͰύΠϓϥΠϯʹ࣮ߦॱ͕ॻ͔Ε͍ͯΔ
ˠDPPLJFDVUUFSͰσΟϨΫτϦߏΛඪ४Խ͍ͯ͠Δ ˠDSVGUͰɺݹ͍ϓϩμΫτ࠷৽ͷܗʹै͢Δ ˠHPLBSUͷॻ͖ํ͕͋ΔͷͰΫϥεཻͳͲ͕ҰఆʹͳΔ ˠSV ff ͰϑΥʔϚοτΛ౷Ұ͢Δ ղܾᶇॻ͖ํͷඪ४ԽΛڧ੍͢Δ ܗʹ߹ΘͤͯϨϙδτϦͷσΟϨΫτϦߏΛॳظԽ͢Δ πʔϧ ΧελϜͳܗʹ߹ΘͤͯϨϙδτϦΛॳظԽͰ͖Δ
ɾͲ͏͍͏ॱʹ࣮ߦ͢Ε͍͍ͷ͔͔Βͳ͍ ɾσΟϨΫτϦ͕ෳࡶͰɺΤϯυϙΠϯτͷॴ͕ݟͨΒͳ͍ ɾΫϥεͷཻͱ͔̍ߦͷ͞ͳͲɺࡉ͔͍ॻ͖ํͷҧ͍͕ؾʹͳΔ HPLBSU DPPLJFDVUUFS DSVGU SV ff Ͱॻ͖ํΛඪ४Խ ˠHPLBSUͰύΠϓϥΠϯʹ࣮ߦॱ͕ॻ͔Ε͍ͯΔ
ˠDPPLJFDVUUFSͰσΟϨΫτϦߏΛඪ४Խ͍ͯ͠Δ ˠDSVGUͰɺݹ͍ϓϩμΫτ࠷৽ͷܗʹै͢Δ ˠHPLBSUͷॻ͖ํ͕͋ΔͷͰΫϥεཻͳͲ͕ҰఆʹͳΔ ˠSV ff ͰϑΥʔϚοτΛ౷Ұ͢Δ ղܾᶇॻ͖ํͷඪ४ԽΛڧ੍͢Δ աڈʹ࡞ͬͨϨϙδτϦ͕࠷৽ͷܗ͔Βҳ͍ͯ͠Δ͔Λ νΣοΫ͢Δπʔϧ ࠷৽ͷܗ͔ΒͷࠩΛղফͯ͘͠ΕΔ
ɾͲ͏͍͏ॱʹ࣮ߦ͢Ε͍͍ͷ͔͔Βͳ͍ ɾσΟϨΫτϦ͕ෳࡶͰɺΤϯυϙΠϯτͷॴ͕ݟͨΒͳ͍ ɾΫϥεͷཻͱ͔̍ߦͷ͞ͳͲɺࡉ͔͍ॻ͖ํͷҧ͍͕ؾʹͳΔ HPLBSU DPPLJFDVUUFS DSVGU SV ff Ͱॻ͖ํΛඪ४Խ ˠHPLBSUͰύΠϓϥΠϯʹ࣮ߦॱ͕ॻ͔Ε͍ͯΔ
ˠDPPLJFDVUUFSͰσΟϨΫτϦߏΛඪ४Խ͍ͯ͠Δ ˠDSVGUͰɺݹ͍ϓϩμΫτ࠷৽ͷܗʹै͢Δ ˠHPLBSUͷॻ͖ํ͕͋ΔͷͰΫϥεཻͳͲ͕ҰఆʹͳΔ ˠSV ff ͰϑΥʔϚοτΛ౷Ұ͢Δ ղܾᶇॻ͖ํͷඪ४ԽΛڧ੍͢Δ
ػցֶशͷʮ͋Δ͋Δʯ՝ͱͦͷղܾ ࣮ݧΛຊ൪Ͱ࠶ݱͰ͖ͳ͍ όʔδϣϯཧ͕໘ ಉ͡ॲཧΛ܁Γฦͨ͘͠ͳ͍ ؔΛॏෳͯ͠࡞Γͨ͘ͳ͍ ॻ͖ํ͕Βͭ͘ શ࣮ݧ݁ՌΛઃఆͱϖΞͰอଘ σʔλͷύΠϓϥΠϯΛཧ ඞཁͳ෦Λٯࢉͯ͠࠶࣮ߦ ڞ௨λεΫू
ॻ͖ํͷඪ४ԽΛڧ੍ ϊϋΛөͨ͠ύΠϓϥΠϯπʔϧ HPLBSUΛ։ൃɾ׆༻
.-0QTʮ͋Δ͋Δʯ՝ͷղܾͱͦͷͨΊͷϥΠϒϥϦHPLBSU ɾ෦ۙʹͳͬͨػցֶशʹજΉਏΈ ɾ෦ػցֶश͋Δ͋Δ՝ͷղܾͱHPLBSU ɾ෦HPLBSUͰύΠϓϥΠϯΛॻ͍ͯΈΔ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ ੜσʔλ ूܭσʔλ ੜσʔλΛμϯϩʔυ͠ɺ BHFΛ5SVFʹมͨ͠ूܭσʔλΛ࡞Δ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ ੜσʔλ ूܭσʔλ ੜσʔλΛμϯϩʔυ͠ɺ BHFΛ5SVFʹมͨ͠ूܭσʔλΛ࡞Δ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ ੜσʔλ ूܭσʔλ ੜσʔλΛμϯϩʔυ͠ɺ BHFΛ5SVFʹมͨ͠ूܭσʔλΛ࡞Δ σϞ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ %PXOMPBE%BUB .BLF'FBUVSF σʔλΛμϯϩʔυ ूܭσʔλΛ࡞Δ શମͷྲྀΕ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ σʔλμϯϩʔυλεΫΛ࣮ ܧঝͯ͠ϝιουΛ࣮͍ͯ͘͠ self.dump()ʹͨ͠σʔλ͕͜ͷλεΫͷग़ྗ Լྲྀʹ͋Δ࣍λεΫʹ͞ΕΔ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ σʔλμϯϩʔυλεΫΛ࣮ ܧঝͯ͠ϝιουΛ࣮͍ͯ͘͠ self.dump()ʹͨ͠σʔλ͕͜ͷλεΫͷग़ྗ Լྲྀʹ͋Δ࣍λεΫʹ͞ΕΔ λεΫͰΓ͍ͨ͜ͱΛهड़͢Δ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ σʔλμϯϩʔυλεΫΛ࣮ ܧঝͯ͠ϝιουΛ࣮͍ͯ͘͠ self.dump()ʹͨ͠σʔλ͕͜ͷλεΫͷग़ྗ Լྲྀʹ͋Δ࣍λεΫʹ͞ΕΔ λεΫͰΓ͍ͨ͜ͱΛهड़͢Δ σʔλΛಡΈࠐΉ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ σʔλμϯϩʔυλεΫΛ࣮ ܧঝͯ͠ϝιουΛ࣮͍ͯ͘͠ self.dump()ʹͨ͠σʔλ͕͜ͷλεΫͷग़ྗ Լྲྀʹ͋Δ࣍λεΫʹ͞ΕΔ λεΫͰΓ͍ͨ͜ͱΛهड़͢Δ σʔλΛಡΈࠐΉ λεΫͷग़ྗʹͳΔ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ self.load()Ͱ্ྲྀλεΫͷ݁Ռ͕ྲྀΕͯ͘Δ σʔλूܭλεΫΛ࣮ λεΫͰΓ͍ͨ͜ͱΛهड़͢Δ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ self.load()Ͱ্ྲྀλεΫͷ݁Ռ͕ྲྀΕͯ͘Δ σʔλूܭλεΫΛ࣮ ґଘσʔλΛಡΈࠐΈ λεΫͰΓ͍ͨ͜ͱΛهड़͢Δ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ self.load()Ͱ্ྲྀλεΫͷ݁Ռ͕ྲྀΕͯ͘Δ σʔλूܭλεΫΛ࣮ ґଘσʔλΛಡΈࠐΈ σʔλΛूܭ͢Δ λεΫͰΓ͍ͨ͜ͱΛهड़͢Δ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ self.load()Ͱ্ྲྀλεΫͷ݁Ռ͕ྲྀΕͯ͘Δ σʔλूܭλεΫΛ࣮ ґଘσʔλΛಡΈࠐΈ λεΫͷग़ྗ σʔλΛूܭ͢Δ λεΫͰΓ͍ͨ͜ͱΛهड़͢Δ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ ԼྲྀλεΫ্͕ྲྀλεΫͷ݁ՌΛ͏͜ͱ͚ͩΛఆٛ ࣮ࡍͷ࣮ߦॱgokart͕ࣗಈͰஅ ύΠϓϥΠϯΛ࣮͢Δ ґଘؔΛهड़͢Δ %PXOMPBE%BUB .BLF'FBUVSF σʔλΛμϯϩʔυ ूܭσʔλΛ࡞Δ ґଘ
HPLBSUͰ࡞ΔγϯϓϧͳύΠϓϥΠϯ HPLBSUΛ࣮ߦ͢Δ gokart.build()ͰύΠϓϥΠϯΛ࣮ߦ͢Δ ͖ͬ͞ͷύΠϓϥΠϯ gokart͕ύΠϓϥΠϯதͷλεΫΛඞཁͳॱ Ͱ࣮ߦͯ͘͠ΕΔ
·ͱΊ ɾػցֶशࢼߦࡨޡ͕ඞཁ͕ͩɺ࣮ݧཧ͕ࠞཚ͕ͪ͠Ͱਏ͍ ɾ҆ఆͨ͠ຊ൪ӡ༻ʹɺཧίετΛԼ͛ͳ͕Βɺ࠶ݱੑɾ࠶ ࣮ߦੑɾඪ४Խ͢Δඞཁ͕͋Δ ɾղܾϊϋΛ٧ΊࠐΜͩϥΠϒϥϦHPLBSUΛ։ൃ ɾΤϜεϦʔͰΛ͑ΔϚΠΫϩαʔϏεʹϊϋΛ ԣల։͢ΔͨΊʹHPLBSUΛ׆༻ ػցֶशΔͳΒ pip install
gokart