Google Colab使用教程与运行速度对比
写在前面
google colab是google推出的无需任何配置、免费使用GPU,可以在浏览器中编写和执行Python代码的环境。使用完全类似于jupyter notebook。现对colab的使用做一个大概的梳理,colab的基本使用其自身的教程或其他网络教程。
基本使用命令
开启一个notebook后需要先挂载谷歌硬盘
硬盘挂载命令
#如果运行时环境断开需要重新挂载 from google.colab import drive drive.mount(/content/drive)
查看资源(GPU)使用情况
-
因为是linux环境,所以需要在命令前加一个感叹号 !
#查看GPU使用情况 !nvidia-smi #查看CPU信息 !cat /proc/cpuinfo
安装所需的包
!pip install ****
压缩与解压
-
因为google drive(谷歌云盘)是支持上传文件夹的,但是速度慢,所以上传数据集最好还是将压缩包上传,再用命令进行解压操作,一下zip命令我试过,rar的没试过,看别人写的。
#解压zip文件 !unzip -uq "拓展名为zip的文件" -d "解压到的目录" #解压rar文件 !pip install pyunpack !pip install patool from pyunpack import Archive Archive(/content/drive/My Drive/test.rar).extractall(/content/test)
进入到文件所在目录
import os path="/content/drive/My Drive/untitled" os.chdir(path) #跳转目录 os.listdir(path)
colab防断机制
-
colab理论上可以连续工作不超过12个小时,但是一般半个小时内不操作可能就就断开了,因此需要做一个防断处理 F12打开网页开发者调试工作,找到console控制台输入以下代码
function ConnectButton(){ console.log("Connect pushed"); document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click() } setInterval(ConnectButton,60000);
意思是每隔60s自动push一次与colab进行交互
训练速度
-
使用AlexNet进行一个粗浅的测试,5个类别,3306张训练集数据,364张验证集数据 我分配到的是Tesla T4 进行4轮训练,可以看到第一轮速度巨慢,二三四轮速度应该比较正常。 原因: colab从google drive中加载数据导致数据加载速度跟不上GPU处理速度 解决方案一: 把数据放到colab中(colab路径是/content,而google drive路径为/content/drive/Mydrive) 调整后,实验结果对比,第一轮速度慢的问题解决了
速度对比GeForce Titan X
本地Titan X速度如下,单轮训练17s,验证11s colab上Tesla T4速度如下,单轮训练14s,验证1s 后面还测试了1080ti的速度,Tesla T4的速度是比1080ti慢一些。 因为没有控制所有使用的环境一致,所以本次实验可能存在各种环境版本不同所带来的误差
总结
上一篇:
JS实现多线程数据分片下载