google colab的一些使用限制
2021年12月28日 - 由Bo 0 评论 14108 阅读
目前有需求是训练自定义的数据集,用了yolov4 darknet,但是公司发的老版mac训练起来实在是慢且发烫,于是打算试一试google的colab,用一下免费的GPU。
先新建了一个notebook,选择菜单 代码执行程序-更改运行时类型-硬件加速器选择GPU。
然后在notebook中加一些clone代码、更改cfg、上传数据集等操作,然后开始训练。看log输出每个迭代的值,不得不说确实是快,比起本地烂机器好多了。
本想着挂一晚上,第二天看结果。没想到第二天就尴尬了。看来免费版还是有一些限制,类似官方提到的usage-limits
1) 首先是如果临时离开一会将notebook闲置,可能回来时已经重置了,那么操作就会需要重新来做。
对于60分钟自动代码刷新和90分钟断开限制,可以在浏览器的console里输入如下语句并运行:
function ConnectButton(){
console.log("Connect pushed");
document.querySelector("#connect").click()
}
setInterval(ConnectButton,60000);
或者在notebook中新建一个代码块,输入如下语句并运行:
import IPython
from google.colab import output
display(IPython.display.Javascript('''
function ClickConnect(){
btn = document.querySelector("colab-connect-button")
if (btn != null){
console.log("Click colab-connect-button");
btn.click()
}
btn = document.getElementById('ok')
if (btn != null){
console.log("Click reconnect");
btn.click()
}
}
setInterval(ClickConnect,60000)
'''))
print("Done.")
2) 文档提到notebook需要连接虚拟机运行,而虚拟机的最长声明周期是12小时。这意味着即使没有闲置,在运行达到12小时后仍然会断开,这时训练结果很难跑完。这就需要要么处理一下在到期前保存当前训练的参数,用于后续继续训练;要么升级到colab pro。
3) GPU的使用时有限额的,但文档中提到不会公布这个有变化的动态限额。于是我在持续使用之后便得到一个提示:"您目前无法连接到 GPU,因为已达到 Colab 的使用量限额",并提示我升级到colab pro。
总之贫穷限制了我,我还是申请开个pro吧,估计换个电脑也很慢。