python google cloud gcp教程
2018年3月第一次参加kaggle比赛,TalkingData AdTracking Fraud Detection Challenge,最后拿到银牌,靠的是云平台的强大运算能力 – 想要对整个训练集(180 million rows of data)进行训练至少需要64G Ram (普通笔记本电脑 ~ 16G Ram)。我最后用的是Google Cloud Platform,因为它给300刀的credit。
这篇文章讲讲如何在GCP上跑jupyter notebook打kaggle比赛 (large data size),适合新手入门:设置GCP Compute Engine
这一步已经有文章讲过了。比较简单。
注:在step 5结尾处,建议使用tcp: 5000。
注: 使用完以后要stop instance,否则会继续收费。
2. 在SSH上安装jupyter notebook 及其他package
经过测试,如下方法可以保证work。打开SSH以后,输入如下代码:
sudo apt-get update
sudo apt-get –assume-yes upgrade
sudo apt-get –assume-yes install software-properties-common
sudo apt-get install python-setuptools python-dev build-essential
sudo easy_install pip
sudo pip install jupyter
jupyter notebook –generate-config
sudo nano ~/.jupyter/jupyter_notebook_config.py
弹出窗口以后输入一下命令(白色):
依照提示退出(Ctrl+O, Ctrl+X),回到命令界面
设置jupyter notebook password
jupyter notebook password
安装anaconda
curl -O https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh
sha256sum Anaconda3-5.0.1-Linux-x86_64.sh
bash Anaconda3-5.0.1-Linux-x86_64.sh
source ~/.bashrc
安装package
pip install lightgbm
pip install tensorflow
pip install kaggle
Start jupyter notebook
jupyter-notebook –no-browser –port=5000
在浏览器输入http://:5000
3. 使用kaggle api下载及上传数据
训练模型之前,需要把训练集测试集上传到云平台上,最方便的方法是利用kaggle官方apiKaggle/kaggle-apigithub.com
将kaggle网站上下载到的kaggle.json文件放到user name下的.kaggle 文件夹中:
import shutil
src = ‘/home/liyinxiao/kaggle.json’
dst = ‘/home/liyinxiao/.kaggle’
shutil.move(src, dst)
下载训练集,测试集
! kaggle competitions list
! kaggle competitions download -c talkingdata-adtracking-fraud-detection -f train.csv.zip -p Download
! kaggle competitions download -c talkingdata-adtracking-fraud-detection -f test_supplement.csv.zip -p Download
下载的zip文件解压缩
import zipfile
zip = zipfile.ZipFile(‘Download/train.csv.zip’,’r’)
zip.extractall()
zip = zipfile.ZipFile(‘Download/test.csv.zip’,’r’)
zip.extractall()
完成训练后直接提交submission file
! kaggle competitions submit -c talkingdata-adtracking-fraud-detection -f sub_it30.csv -m “My submission”
Congratulations! You just learnt what I spent days exploring in 15 mins.https://www.linkedin.com/in/liyinxiao/www.linkedin.com