两个免费深度学习计算平台: Google Colaboratory 和 Kaggle
在这两个平台中,任何人都可以通过浏览器编写和执行任意 Python 代码。它尤其适合机器学习、数据分析和教育目的。从技术上说,两者都是一种Jupyter 笔记本服务,所在环境就是python的解释器,也可以在命令前添加符号!来运行bash命令(Linux),而且都支持自动补全功能。用户无需进行设置,就可以直接使用,同时还能获得 GPU 等计算资源的免费使用权限(时长上是受限制的)。(Jupyter在这里就不介绍了,就是一种结合记录笔记功能的实时命令行吧)
1 Colab
假设你已经具有合法访问国外某些学习资源的条件,否则可以直接跳到Kaggle的介绍
先放一张Colab的图(暗色主题)
基本使用方法
Colab中包含了很多常用的工具和运行环境,基本上不需要用户自己安装(也可以使用apt和pip等管理工具安装)。直接键入的命令实在python解释器中运行的,如果要在bash中运行,需要在命令前加感叹号!,需要注意的是,cd命令要想生效的话,需要在前面加%而不是!。
看一下GPU设备,每次连接可能会变。
管理你的文件
Colab可以在文件系统中挂载Google Drive,从而在代码中直接使用,而创建的notebook也直接保存在Google Drive中。通过服务器操作造成的云盘文件的改变会直接在Google Drive中体现,反之也是这样。比如云盘中的压缩文件可以直接在Colab中解压到云盘中,链接可以直接通过wget下载到云盘中。不过虚拟机上挂载的文件和Google Drive网页上体现的文件的同步可能需要一点时间,不会特别快。
比Kaggle方便的是,Colab的文件更方便管理,点击文件夹或文件右边的三个点,就可以轻松从本地上传文件或者下载文件到本地,而且目录中的文件可以直接双击进行编辑或者预览。
使用不同的设备加速运行你的代码
在Colab中,你可以选择不同的设备运行你的代码,默认是CPU,还可以选择GPU或者TPU。
注意事项
1.所使用的虚拟机资源在会话关闭后自动释放,也就是说在虚拟机中下载的文件,编写的代码都会消失(Google Drive中的除外)。
2.挂载Google Drive之后,在Google Drive中的文件操作不是一般的慢,是相当的慢,比如解压,移动,复制等等。
3.资源有限,简单说就是:因为是免费的,不可能让你用那么爽(下面是官方解释)。
Kaggle
Kaggle的方便之处在于在国内也可以访问,文件系统更快,但是上传下载文件比较麻烦,而且界面是英文的。
先放一张图
使用方法
在Kaggle中,新建notebook时可以选择数据集,就省去了下载或者上传数据的过程。可以选择两种运行模式:脚本文件或者notebook(创建之后也可以修改)
使用GPU加速需要先验证个人手机号,就在右侧选择Accelerator的位置进行验证,无奈本人一开始光去找GPU这个字眼了。。。。
文件上传与下载
点击File里面有Upload和Download,这个应该只是针对notebook的,另外还有数据集的上传,但是我没有上传成功过,上传必死机(整个浏览器都很卡)。在侧边栏的文件目录中也无法上传下载,也无法对文件进行编辑,只能预览。所以。。。体验很不友好,所以本人就只好借助了GitHub进行文件的传送了。
资源限制
在个人账户中可以看到剩余资源
虽然是每周30个小时的GPU时间,但是无奈的是,每个会话只能持续9个小时(第一次使用不知道,训练了30个epochs后,会话关闭了,只能刷新,checkpoint都没有了,哀!)
当然和Colab一样,想要用的舒服,掏钱就行,于是有了Google Cloud,比国内一些云服务要便宜好像。
写在最后
总的来说,两个平台对于初学者而言还是很友好的,环境也不用配置,一台免费的带有GPU加速的Linux服务器就摆在你面前,可以进行很多实验和测试,不过对于专业人士来说,还是乖乖掏钱吧。