谷歌Colab使用心得

最近做毕业论文,需要做深度学习的目标识别,但是苦于算力危机,这时候发现了Google提供的超级好用的Colab,使用上手很快,但是有一些需要注意的点,做了一点总结。

最近一直在折腾毕业论文,终于可以抽一点时间写点笔记,鉴于我的记性向来很差,这还是相当有必要的,免得以后再做的时候把现在走过的弯路全走一遍。之前做图像分类很多经验就没总结,到最后全重新踩坑了。废话少说,开始说正事。

谷歌的Colab基本上就是一个深度魔改的Jupyter Notebook,但是谷歌非常良心地提供了Python的运行时,因此我们就可以直接在云端运行任何.ipynb格式的笔记了,最为让人感动的是,谷歌还提供免费的GPU资源用,拯救了我毕业论文的算力危机。当然,要是有台正经的工作站就没这么麻烦了。

首先,Colab可以使用IPython的magic command,例如%matplotlib等,但是Colab里有一部分特有的magic command,例如指定tensorflow版本的命令%tensorflow_version 1.x ,由于tensorflow的object detection API还没有适配TF2.0版本,但是现在的Colab已经是默认使用TF2.0了,因此必须要在import之前就指定TF版本,否则指定完以后需要重启运行时。

同样的,很多时候我们还需要运行一些shell command,比如需要装一些缺失的包,git clone之类,可以用![shell command],例如!pip3 install pycocotools即可。

接下来,不可避免地我们会遇到一些需要进行I/O操作的场景。直接在Colab提供的运行时中储存重要的数据是很不推荐的行为。试想训练了好久的模型,吃着火锅儿,唱着歌,突然就被谷歌把资源收回了,哭都没处哭。因此我采用的办法是用Google Drive的API,直接mount云端硬盘,这样各种操作都比较方便,而不需要次次去和云端硬盘的API打交道。使用也很简单,按照文档授权后填token即可,美中不足的就是每次mount都要填token,不过无伤大雅。需要注意的是,mount后云端硬盘的文件夹名会叫My Drive,中间的空格在各种路径中需要转义成My\ Drive

另外,如果要使用GPU,需要申请有GPU的运行时,在“修改-笔记本设置”里可以进行修改。需要注意GPU资源还是比较宝贵的,出于不被限额和遵守道德的原因,在编辑、调试笔记的时候不要用占用GPU运行时,等一切就绪再申请。同样即使是无GPU的运行时,也不要长久占用。

最后,也是最重要的——多看文档。刚开始没看文档,以为GPU资源不需要自己申请,结果拿CPU跑了训练,占用时间极长不说,还被暂时限制使用了,因此看文档真的很重要。

目前就这些比较重要的体会了,如果在之后有新的需要记录的内容,还会继续更新这篇博文。

谷歌Colab使用心得

http://erw1n.dev/Colab-Review/

作者

Erwin Qi

发布于

2020-04-17

更新于

2020-05-06

许可协议

评论