kaggle使用記錄

j_starry發表於2020-12-27

一直想在kaggle上參加一個比賽,近期看見又一個病害分類的比賽出來了,不說了,必須抓住機會,不能再拖延!

初學者怎麼使用kaggle

點入一個competition,可以看到

其中:

overview:比賽方對比賽概況的介紹,解決什麼問題,難點是什麼?以及評分方式,提交的時間節點(重要)【審題】

data:資料,介紹和下載地址

notebooks:開源的程式碼

discussion:多去看,高手對比賽的認識和分析,一些提分點

notebooks和discussion相當於兩個社群

leaderboard:排行榜,A榜B榜情況  A榜成績好≠B榜成績好(防止過擬合)

rules:規則

Team:組隊介紹

kaggle-kernel教程

如何找baseline

點選notebook hotness 下面可以選擇best score找到當前分數最高的模型

注意 code competition不是隻提交結果檔案,而是要用notebook來提交

怎麼使用notebook

先找一個現在分數最高的做一個流程練習


點入第一個人的notebook

可以看到他現在在A榜的分數是0.898,然後點copy and Edit就可以把這份程式碼變成自己的

變成自己的後就可以修改程式碼了,注意:每個人每週有固定的GPU時長,notebook不用的情況下要關掉

input部分

可以用比賽資料集,也可以用外部資料集,也可載入自己的模型

  • 點選Add data後,可點選 your dataset進行上傳

  • 也可以在導航欄點data,然後點new dataset上傳(注意,上傳檔案要開vpn)

可以本地把模型訓練好,然後把模型pth載入進來,直接做預測 

save version

點選提交,必須點SAVE VERSION,要把notebook跑一邊

save run all是從頭到尾跑一遍(能夠提交)

quick save只是儲存,不能提交

我點了save runall 就開始跑了

最後會顯示一個跑成功了,沒截圖下來

 

然後可以從邊框欄的recently viewed找到剛剛跑完的notebook

然後在右面有個output

可以看到個submit,點選submit才能真正提交

然後可以選擇提交的notebook和版本,點選提交會出現如下提示

提交的notebook會從頭再執行一遍,主要是在隱藏的那些測試集上跑

提交的程式碼不是所有人都能看到,notebook如果是開啟的,別人就能看到,鎖上只有自己看到

kernel技巧

kernel環境:

  • 記憶體:16G
  • GPU:16G,1080ti速度(每週固定的時間30-40小時)
  • 聯網:訓練時可以開啟,提交必須關閉

Dataset使用:

  • Dataset可以讀取模型、讀取資料、安裝庫
  • Dataset還可以用於快速提交公開榜單的結果
  • 上傳資料需要開代理,需要確定具體的資料版本
  • 推薦使用kaggle-API上傳資料,網速更穩定

kaggle反作弊機制:

  • 任何Dataset或notebook不能私下分享(有嚴格的查重機制)
  • 不要打任何擦邊球,用多個賬號