## 任務(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測(cè)試數(shù)據(jù)規(guī)格的差異

由于提交官方測(cè)試和baseline測(cè)試數(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)分享