大數據

《AI開發者的docker實踐》之天池競賽規範

1.數據集掛載

天池大賽數據集默認以只讀形式掛載在/tcdata下(訓練集+測試集)

因此本地調試時可通過-v 模擬掛載與線上一致

docker run -it -v /your_data:/tcdata registry.cn-shanghai.aliyuncs.com/xxxx/test:0.1 /bin/bash

2.預訓練權重

如果大賽允許使用預訓練權重等外部數據,則默認以只讀形式掛載在/external_data下,一般情況下如果你需要的權重大賽未提供,可向賽題方提出,需要注意的是所有外部數據必須使用官方在線上提供的,否則如自己放在鏡像裡提交則在代碼審核時直接取消名次。

3.持久化存儲

如大賽出現超大數據集,常見視頻類競賽,官方會提供持久化存儲以方便選手對數據處理、模型訓練等耗時操作的中間結果提供持久化存儲空間直到大賽結束。

持久化空間默認以可讀寫的形式掛載在/myspace下,但是需要注意此空間僅為日常調試時使用,最終排行榜最優成績對應提交需是端到端完整代碼運行得出,不能使用存儲空間的中間結果。

4.執行入口

大賽一律以鏡像的工作空間目錄下run.sh為運行入口,且僅以此進程為程序運行狀態如結束的標誌。

調試時可在本地執行docker run registry.cn-shanghai.aliyuncs.com/xxxx/test:0.1 sh run.sh模擬測試

5.網絡環境

天池大賽一律無網絡鏈接,切記鏡像內不要有網絡操作否則會導致線上運行時由於無網絡觸達而導致程序卡住。

6.超時時間

一般大賽“容器鏡像”頁面會註明一個超時時間,此超時時間為你的代碼“從開始運行到完整結束”的整個時間限制,如果你的代碼僅僅超出這個時間一點(約30min內)則依然會返回成績但是此成績不會計入排行,僅能在日誌頁面內看到,如果超出這個時間許多還沒結束,則會被強制清理掉。

另外 如果涉及流評測(後續大賽會逐漸被流評測代替),

7.日常調試提交

如果你本地有滿足賽題的計算資源,那麼你日常提交時可以提交打包本地訓練好的權重僅在線上做預測過程,這樣可以快速出分,提高大賽效率,但是這樣的提交在最終是無效的 所以一定注意在大賽要求的最後幾天(一般是一週)重新提交最優模型的端到端代碼完成數據處理到訓練預測全流程,否則最後如果最優成績無完整代碼會被直接淘汰,所以切記!

8.自定義鏡像

如需自定義鏡像,一定要確保鏡像內安裝了curl,且Dockerfile 中不能使用ENTRYPOINT

9.線上存儲空間大小

物理機存儲默認為500G 但是有系統、軟件、docker鏡像等佔用空間,實際可用空間建議通過打印獲取,一般大賽足夠使用,可不必考慮。

10.線上共享內存大小

共享內存大小無特殊說明情況下默認為內存的一半

docker 本地調試時可指定如--shm_size 64 設置與線上環境大小一致

11.流評測工具包AI-HUB

天池大賽已逐漸全面升級為流評測形式,已規避針對測試集做訓練、或者以未來測試條件預測當前數據、或工業流水線對單次預測效率嚴控等情況

安裝:pip install ai-hub

ai-hub 的inferServer模塊針對天池大賽流評測定製,詳情可參考https://github.com/gaoxiaos/AI_HUB

如果自己構建大賽的infer server 則需要注意API接口默認為tccapi 端口為8080 並實現當收到exit請求時服務自動退出能力

12.常用鏡像(含國內源和美西源)

天池為大家構建了常用的競賽鏡像倉庫,並更新維護。點擊直達

tips:

1.如有list中缺失的可在大賽群中提出訴求。

2.list中鏡像倉庫存放在阿里雲上海地域,同地域上傳下載速度更快。

13.如何停止正在運行的鏡像

點擊下方課程鏈接即可直達如何停止正在運行的鏡像視頻教程。

https://tianchi.aliyun.com/course/351/4132

14.一直處於waiting狀態怎麼辦

點擊下方課程鏈接即可直達一直處於waiting狀態怎麼辦視頻教程。

https://tianchi.aliyun.com/course/351/4136

Leave a Reply

Your email address will not be published. Required fields are marked *