colab notes

colab notes
Tony Caocolab代码
如何合理使用资源
P100 usage is 4units/hr,
V100 usage is 5 units/hr,
A100 usage is 13.08units/hr
将训练过后的模型日志和其他重要的文件保存到谷歌云盘,而不是本地的实例空间
运行的代码必须支持“断点续传”能力,简单来说就是必须定义类似checkpoint功能的函数;假设我们一共需要训练40个epochs,在第30个epoch掉线了之后模型能够从第30个epoch开始训练而不是从头再来
仅在模型训练时开启GPU模式,在构建模型或其他非必要情况下使用None模式
在网络稳定的情况下开始训练,每隔一段时间查看一下训练的情况
注册多个免费的谷歌账号交替使用
使用key
1 | from google.colab import userdata |
使用google drive中的文件
1 | from google.colab import drive |
查看显卡驱动
1 | # 确定自己是否在GPU环境下,如果输出gpu则证明在 |
加载自己的数据集
深度学习中,数据集一般由超大量的数据组成,如何在Colab上快速加载数据集?
- 将整个数据集从本地上传到实例空间
理论可行但实际不可取。经过作者实测,无论是上传压缩包还是文件夹,这种方法都是非常的慢,对于较大的数据集完全不具备可操作性。
- 将整个数据集上传到谷歌硬盘,挂载谷歌云盘的之后直接读取云盘内的数据集
理论可行但风险较大。根据谷歌的说明,Colab读取云盘的I/O次数也是有限制的,太琐碎的I/O会导致出现“配额限制”。如果数据集包含大量的子文件夹,也很容易出现挂载错误。
- 将数据集以压缩包形式上传到谷歌云盘,然后解压到Colab实例空间
实测可行。挂载云盘不消耗时间,解压所需的时间远远小于上传数据集的时间
此外,由于实例空间会定期释放,因此模型训练完成后的日志也应该存放在谷歌云盘上。综上所述,谷歌云盘是使用Colab必不可少的一环,由于免费的云盘只有15个G,因此个人建议至少拓展到基本版。




