## 任務(wù)- 比賽全流程體驗(yàn)
1>. 學(xué)習(xí)如何使用Docker提交代碼及比賽上分蒋歌。
2>. 記錄比賽中遇到的問題屠尊,并在學(xué)習(xí)筆記中插入初始分?jǐn)?shù)截圖丽旅。
1.docker 學(xué)習(xí)
? ? docker 理解:與虛擬機(jī)相比锡足,更加高效的一種容器載體漓帚。相當(dāng)于是一個(gè)樣板房,里面的裝修和家具齊全(參數(shù)和依賴環(huán)境配置)赋荆,人(軟件)可以利用現(xiàn)成的資源(硬件)生活笋妥。
? ? 鏡像(image),容器(container)窄潭,倉庫(repository)概念的理解:?
? ? 鏡像:將代碼和環(huán)境打包一起的產(chǎn)物春宣。
? ? 容器:運(yùn)行的鏡像為容器,運(yùn)行環(huán)境或者實(shí)例狈孔。實(shí)質(zhì)為進(jìn)程信认。代碼運(yùn)行結(jié)束容器消失。
? ? registry (倉庫的集合):相當(dāng)于存儲(chǔ)運(yùn)行環(huán)境和代碼的網(wǎng)盤均抽,可以在介質(zhì)上運(yùn)行自己的代碼或分享代碼嫁赏。也有類似git的版本管理。
? ? ?制定dockerfile:Dockerfile 是一個(gè)用來構(gòu)建鏡像的文本文件
? ? ?FROM:定制的鏡像都是基于 FROM 的鏡像??
? ? ?RUN <命令行命令>:? 等同于油挥,在終端操作的 shell 命令
? ? CMD
? ? 類似于 RUN 指令潦蝇,用于運(yùn)行程序,但二者運(yùn)行的時(shí)間點(diǎn)不同:
? ? CMD 在docker run 時(shí)運(yùn)行
? ? RUN 是在 docker build時(shí)運(yùn)行
? ? 根據(jù)這個(gè)先在本地創(chuàng)建一個(gè)鏡像深寥,然后在鏡像里面準(zhǔn)備好其他的 依賴環(huán)境攘乒,運(yùn)行代碼,數(shù)據(jù)文件夾等惋鹅,然后調(diào)試成功上傳鏡像至個(gè)人倉庫则酝,最終在比賽頁面提交,由官方給與數(shù)據(jù)跑出結(jié)果闰集。
2. 實(shí)際操作
2.1 配置阿里云鏡像?
https://cr.console.aliyun.com/cn-beijing/instances/repositories
2.2配置VScode+Alibaba Cloud Toolkit
Alibaba Cloud Toolkit VS 拓展里面可以一鍵安裝沽讹,參考資料里面有詳細(xì)的記錄。
2.3上傳鏡像
3.需要注意的坑
3.1 上傳鏡像時(shí)候出現(xiàn)的錯(cuò)誤
? ? 出現(xiàn)"requested access to the resource is denied"的錯(cuò)誤
往往是由于登錄信息的問題武鲁,使用不同身份(root or 一般)存儲(chǔ)的docker身份信息文件不同爽雄,root登錄也要在push使用sudo
3.2 baseline測試數(shù)據(jù)規(guī)格的差異
由于提交官方測試和baseline測試數(shù)據(jù)不同,所以需要對(duì)代碼進(jìn)行修改:
test_predicts_dict[file_name] = model.predict(val).reshape(-1,)?
test_predicts_dict[file_name] = model.predict([val]).reshape(-1,)
val加上方括號(hào)
4.最終的提交結(jié)果
Ref:
1.docker新人場
https://tianchi.aliyun.com/competition/entrance/231759/introduction
2.時(shí)間序列群以及小組同學(xué)的經(jīng)驗(yàn)分享