使用kaggle的notebook运行代码
Add Data的路徑:/kaggle/input
git clone的路徑:/kaggle/working
###########################################
notebook和終端不太一樣的是:
終端你cd 到一個(gè)目錄后,路徑會(huì)保留,像這樣:
$ cd ~/test
$ ls -l
但是kaggle notebook中的命令則是:
cd ~/test;ls -l
如果分成兩行寫,當(dāng)前路徑會(huì)恢復(fù)成默認(rèn)路徑。
###########################################
登陸https://www.kaggle.com/
依次My profile->Kernels
新建一個(gè)notebook然后點(diǎn)擊edit
然后輸入
import sys print(sys.argv[0])運(yùn)行:
可以發(fā)現(xiàn)kaggle當(dāng)前路徑是:
/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py這樣就可以運(yùn)行了
那么怎么在notebook中使用在線的數(shù)據(jù)呢?右上角Add Data然后選擇Competition Dataq
?
?但是根據(jù)下面兩個(gè)鏈接的討論:
https://www.kaggle.com/c/ieee-fraud-detection/discussion/104758#latest-604717
https://zhuanlan.zhihu.com/p/52286365
GPU ON,讓跑2小時(shí)
GPU off,讓跑9小時(shí)
超時(shí)自動(dòng)關(guān)閉
產(chǎn)生的csv文件不能直接下載,必須commit之后才能下載,這點(diǎn)比較坑,commit之后的下載位置在這里。
?
notebook修改后,怎么保存呢?
選擇File->Commit即可
?但是這個(gè)commit很奇怪的地方就是每次commit都必定會(huì)把代碼從頭到尾跑一遍。
?
問(wèn)了下官方客服,回復(fù)說(shuō):
只要運(yùn)行該段代碼,就會(huì)保存
?
不需要重新run一遍之后再commit,只要你確定代碼沒問(wèn)題,直接commit,commit后就可以在Notebooks頁(yè)面(不是當(dāng)前頁(yè)面)導(dǎo)出你的submission.csv
?
另外,如果選擇了Run->Restart Session(kernel died強(qiáng)制重啟/內(nèi)存耗盡強(qiáng)制重啟),
內(nèi)存清零,
apt安裝的東西全部消失,需要重裝
pip安裝的東西還在
那么生成的csv文件是依然存在的
?
如果是F5刷新,那么刷新后內(nèi)存中的變量還是存在的.
?
最近發(fā)現(xiàn)的bug:
如果有一個(gè)單元格被中止運(yùn)行(點(diǎn)擊左邊的藍(lán)色矩形),那么notebook中的所有正在執(zhí)行的單元格都會(huì)被中止運(yùn)行。
今天剛剛發(fā)現(xiàn)了這個(gè)bug的解決方法:
點(diǎn)擊“Change cell to markdown”就可以停止當(dāng)前單元格的運(yùn)行,還不會(huì)影響其他單元格的運(yùn)行
?
另外,這個(gè)notebook不太穩(wěn)定,有的時(shí)候會(huì)卡住(并不是你的瀏覽器卡住,而是kaggle服務(wù)器卡住),例如讀取數(shù)據(jù)超過(guò)十分鐘。
不要開始運(yùn)行之后就不管了,偶爾需要去看一眼。
?
下面這個(gè)命令可以用來(lái)查看當(dāng)前內(nèi)存中已經(jīng)定義好的命令
?
另外注意,我們有時(shí)候由于粗心導(dǎo)致代碼修改失敗,也就是運(yùn)行成功,但是對(duì)結(jié)果沒影響,這個(gè)時(shí)候,這個(gè)藍(lán)條就會(huì)飛速:
碰到這種情況,你就不要提交了,你該好好檢查下代碼,免得浪費(fèi)提交次數(shù)。
?
另外時(shí)刻牢記,notebook的每個(gè)單元格都是在管理內(nèi)存,有些代碼只能執(zhí)行一次,因?yàn)閮?nèi)存中的變量被抹掉了,所以不能反復(fù)執(zhí)行。
最近發(fā)現(xiàn):
https://www.kaggle.com/general/108481#latest-625400
kaggle似乎想要限制比賽者對(duì)GPU的使用,所以找時(shí)間還是要熟悉下colab
?
繼續(xù)補(bǔ)充,今天剛發(fā)現(xiàn):
也就是kaggle的GPU每周只讓用30個(gè)小時(shí),并且超時(shí)的話,相關(guān)notebook就會(huì)打不開。
?
如果碰到下面這種問(wèn)題:
This kernel has been modified in a different session. Please refresh the page to load the latest changes.
沒事兒,繼續(xù)點(diǎn)擊運(yùn)行代碼
?
再次補(bǔ)充,如何在kaggle notebook上進(jìn)行列編輯呢?
首先光標(biāo)定位在一行,然後安裝ctrl,然後選擇下一行,這樣兩行的光標(biāo)就能一起閃爍了,這個(gè)時(shí)候就可以進(jìn)行了列編輯了.
?
再次補(bǔ)充,根據(jù)下面鏈接:
https://www.kaggle.com/c/mercari-price-suggestion-challenge/discussion/44901
如果使用commit的方式運(yùn)行代碼,并且關(guān)閉瀏覽器的話,六小時(shí)后就會(huì)被終止運(yùn)行。
?
各種往期kaggle比賽的解決方案
https://ndres.me/kaggle-past-solutions/
?
?
今天碰到的一個(gè)問(wèn)題是,整個(gè)頁(yè)面不小心都弄藍(lán)了,這個(gè)時(shí)候只要點(diǎn)擊一下右側(cè)就好了。
?
?
------------------------------------------------------commit用法補(bǔ)充--------------------------------------------------------------------------------
你的所有輸出都必須是print形式,否則是不會(huì)有l(wèi)og的
?
--------------------------------------------------------下面的一些故障---------------------------------------------------------------
這個(gè)表示這個(gè)notebook已經(jīng)被你刪除了。
?
-------------------------------------------------再次補(bǔ)充郵箱的使用---------------------------------------------------------------------------------------
今天用了下kaggle的郵箱,一個(gè)月只能發(fā)五次郵件。
--------------------------------------------------------------------kaggle在求職時(shí)的作用------------------------------------------------------------------------------------------------------------
kaggle放在簡(jiǎn)歷上,必須是至少新一線和一線城市的HR和獵頭才有可能認(rèn)識(shí),其他情況下,HR是沒聽過(guò)kaggle的
另外,招聘市場(chǎng)上的kaggle主要是以圖像類kaggle比賽相對(duì)受到追捧.
文本類的kaggle意義不是太大,因?yàn)槠髽I(yè)不怎么care,
但是圖像類kaggle其實(shí)就是拼誰(shuí)有g(shù)pu設(shè)備,
所以這么說(shuō)來(lái),還是挺尷尬的.
這個(gè)是使用boss直聘后的一個(gè)感受.
?
?
總結(jié)
以上是生活随笔為你收集整理的使用kaggle的notebook运行代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: navivat11.0.7在linux下
- 下一篇: Unrecognized option: