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.4k
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.3k
macのunicode正規化.pdf
mski_iksm
0
33k
実臨床・Webサービス領域での機械学習研究 開発の標準化
mski_iksm
8
26k
高速化・並列化・標準化で スケールするML予測システムの開発
mski_iksm
5
3.2k
pythonでメタプログラミング(メタクラス編)
mski_iksm
1
490
パイプラインツールgokartのタスク競合を解消した話
mski_iksm
0
210
Other Decks in Technology
See All in Technology
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
350
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
260
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
450
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
400
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.3k
roppongirb_20250911
igaiga
1
250
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
Featured
See All Featured
Making Projects Easy
brettharned
117
6.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Done Done
chrislema
185
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Balancing Empowerment & Direction
lara
3
620
The Art of Programming - Codeland 2020
erikaheidi
56
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
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