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
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Daiki Ikeshima
September 27, 2024
Technology
1.6k
1
Share
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
PyConJp2024 day1
Daiki Ikeshima
September 27, 2024
More Decks by Daiki Ikeshima
See All by Daiki Ikeshima
gokartのキャッシュ競合防止のロック機能
mski_iksm
0
2.5k
macのunicode正規化.pdf
mski_iksm
0
38k
実臨床・Webサービス領域での機械学習研究 開発の標準化
mski_iksm
8
26k
高速化・並列化・標準化で スケールするML予測システムの開発
mski_iksm
5
3.3k
pythonでメタプログラミング(メタクラス編)
mski_iksm
1
560
パイプラインツールgokartのタスク競合を解消した話
mski_iksm
0
260
Other Decks in Technology
See All in Technology
セキュリティ対策、何からはじめる? CloudNative環境の脅威モデリングと リスク評価実践入門 #cloudnativekaigi
varu3
5
980
ESP32 IoTを動かしながらメモリ使用量を観測してみた話
zozotech
PRO
0
140
Purview 勉強会報告 Microsoft Purview 入門しようとしてみた
masakichixo
1
440
20260516_SecJAWS_Days
takuyay0ne
2
460
Every Conversation Counts
kawaguti
PRO
0
250
会社説明資料|株式会社ギークプラス ソフトウェア事業部
geekplus_tech
0
310
AI対話分析の夢と、汚いデータの現実 Looker / Dataplex / Dataform で実現する品質ファーストな基盤設計
waiwai2111
0
620
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.5k
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
6
1.1k
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
150
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
1
380
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.7k
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Building the Perfect Custom Keyboard
takai
2
760
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
140
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
530
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Thoughts on Productivity
jonyablonski
76
5.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
180
Building Adaptive Systems
keathley
44
3k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
290
Abbi's Birthday
coloredviolet
2
7.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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