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
Daiki Ikeshima
September 27, 2024
Technology
1
1.5k
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
PyConJp2024 day1
Daiki Ikeshima
September 27, 2024
Tweet
Share
More Decks by Daiki Ikeshima
See All by Daiki Ikeshima
gokartのキャッシュ競合防止のロック機能
mski_iksm
0
2.4k
macのunicode正規化.pdf
mski_iksm
0
36k
実臨床・Webサービス領域での機械学習研究 開発の標準化
mski_iksm
8
26k
高速化・並列化・標準化で スケールするML予測システムの開発
mski_iksm
5
3.2k
pythonでメタプログラミング(メタクラス編)
mski_iksm
1
510
パイプラインツールgokartのタスク競合を解消した話
mski_iksm
0
230
Other Decks in Technology
See All in Technology
SES向け、生成AI時代におけるエンジニアリングとセキュリティ
longbowxxx
0
310
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
540
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
ESXi のAIOps だ!2025冬
unnowataru
0
480
技術選定、下から見るか?横から見るか?
masakiokuda
0
180
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
130
小さく、早く、可能性を多産する。生成AIプロジェクト / prAIrie-dog
visional_engineering_and_design
0
350
Agentic AIが変革するAWSの開発・運用・セキュリティ ~Frontier Agentsを試してみた~ / Agentic AI transforms AWS development, operations, and security I tried Frontier Agents
yuj1osm
0
210
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
320
First-Principles-of-Scrum
hiranabe
3
1.5k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.6k
あの夜、私たちは「人間」に戻った。 ── 災害ユートピア、贈与、そしてアジャイルの再構築 / 20260108 Hiromitsu Akiba
shift_evolve
PRO
0
480
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
78
The Invisible Side of Design
smashingmag
302
51k
The Curse of the Amulet
leimatthew05
0
6.8k
We Are The Robots
honzajavorek
0
130
Designing for Timeless Needs
cassininazir
0
110
KATA
mclloyd
PRO
33
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Code Review Best Practice
trishagee
74
19k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
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