地址
https://colab.research.google.com
优点:
- 不怎么需要配置开发环境,可以直接用,内置了TensorFlow之类的
- 类似Jupyter-Notebook的界面和快捷键,方便上手
- 自带免费的TPU,GPU
- 方便分享代码
今天给大家推荐一款超级强大的在线编辑器Colaboratory,Colaboratory 是一个谷歌提供的Jupyter notebook环境,不需要进行任何设置就可以使用,并且完全在云端运行,最重要的是Colaboratory免费,这绝对是谷歌提供的一项的福利啊。下面就来聊聊Colaboratory的基本用法和其优势。
01.使用篇
1)准备阶段
Colaboratory是一款谷歌服务,这里我推荐使用chrome浏览器+谷歌访问助手,这样在访问谷歌相关网站的时候就非常的方便。另外,Colaboratory的正常使用需要依托谷歌账号,如果没有的话建议注册一个。
以上工作都完成后,就可以登陆Colaboratory网站来体验一番了,下面这幅图就是Colaboratory(以下简称colab) 的介绍页面。
2)基本用法
用过jupyter notebook的朋友应该对这个界面非常的熟悉,事实上colab的操作与普通的notebook相似度非常高,下面我们就新建一个Python3的notebook(下图),简单地演示一下它的基本用法。
在下图中的代码框中输入Python代码,点击左侧的按钮执行程序,就会在下方输出打印结果,由于程序第一次运行之前colab会自动连接云端服务器,所以速度可能会有点慢。
值得一提的是,上面这个代码框可不是只能执行Python代码,你还可以把它当作ubuntu的终端来使用,只不过要在所有需要执行的指令之前加一个“!”号。例如,我们如果想查看当前的云端服务器中自带了哪些Python库的话,可以执行“! pip list”指令,结果如下:
可以看到,colab默认安装了大量的Python第三方库,就数据科学方面的库而言,colab的自带库应该会比Anaconda更加完善。
既然可以使用pip指令,那如果想安装其他Python库的时候也可以很方便地安装了,我拿tushare做了一个试验,结果如下:
除了python库之外,使用这种方式还可以执行其他linux指令来部署你自己的云端环境,别忘了在指令前加一个“!”号就好。
2.配置篇
1).常用配置
我个人认为最常用的配置项主要集中在两个地方:
一是”工具”中的偏好设置(下图),在这里可以设置主题背景(共分light和dark两种)、缩进宽度等风格,有趣的是colab还自带coding特效,如果威力等级一栏选择了“many power”,那么在写代码的过程中就会产生非常炫酷的效果。
二是“修改”中的笔记本设置,这里可以设置运行时的python版本和硬件加速器。说到这里不得不佩服谷歌,居然提供了GPU和CPU两种加速模式,只要在选项中进行设置,就可以免费获取额外的算力,这下通过在线编辑器使用TensorFlow再也不是梦想了。
除此之外,colab还允许通过共享的方式邀请他人共同讨论、完善代码;如果你不想将代码放到云端服务器中运行, 还可以连接本地的开发环境运行程序(下图)。
也可以将colab与github相关联,把notebook中的代码备份到GitHub中…关于这些内容,本文不进行详细说明,有兴趣的小伙伴可以自行尝试。
2)云盘挂载
先来说说挂载云端硬盘的重要性。colab中的代码文件是放在云端服务器中运行的,但存储的位置却是同一账户的谷歌云端硬盘,如果不进行关联设置,colab会默认将notebook文件放到云端硬盘根目录下的“Colab Notebooks”文件夹中。
colab的notebook在云端服务器中运行期间是没办法直接读取本地文件的(比如数据集),如果想让程序读取指定文件,只能将其放到谷歌云端硬盘中,然后将云端硬盘挂载到colab。
如果在colab中保存过notebook文件,系统将会自动关联你的colab和云端硬盘账户,否则需要在云端硬盘中进行手动关联(此处略)。然后在代码框中输入以下代码并运行。
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools !add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null !apt-get update -qq 2>&1 > /dev/null !apt-get -y install -qq google-drive-ocamlfuse fuse from google.colab import auth auth.authenticate_user() from oauth2client.client import GoogleCredentials creds = GoogleCredentials.get_application_default() import getpass !google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL vcode = getpass.getpass() !echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
运行过程中会出现下图中的提示,点击链接进行授权验证,将授权码输入到链接下的文本框中,按回车键继续执行。注意:不同的环境在这一步的执行情况可能会不太一样,需要灵活对待。
接着再执行下面两行代码,由于我在挂载前云端硬盘中有文件,所以加上了nonempty参数,否则可以忽视。
!mkdir -p drive
!google-drive-ocamlfuse -o nonempty drive
顺利的话,到这里云盘挂载就完成了,默认挂载的云盘根目录路径是’drive‘,我们来检验一下(下图),可以看到输出的内容和云端硬盘中的文件是一致的。
这样一来,我们就可以将文件放到云盘中供colab读取,或者将colab的运行结果输入到云盘中了。
03.教学篇
colab作为一款在线编辑器,通过云计算让我们摆脱了装备的限制,不管什么设备,只要能连上 谷歌的网络服务,就可以使用云端的服务器,处理云端的数据集;同时,对于工作地点不固定的人来说,也省去了反复配置环境和拷贝文件的麻烦。
然而,colab给自己的定位却是旨在帮助传播机器学习培训和研究成果,所以Colab还关联了一个非常优秀的机器学习学习平台。
点击上图中的“完整课程网站”链接进入教学网站,这里不仅有非常完善的学习资料,还可以根据每个人的基础制定不同的学习计划,更难得的是,无论视频、语音还是文字资料都可以选择中文模式(虽然中文朗读疑似语音合成)。
除了教学网站,colab还有大量交互式机器学习分析的端到端示例(seedbank)供学习和练习,所有seedbank中的项目都可以一键导入colab中运行(下图)。
关于Colaboratory今天就简单介绍到这里,明明是款编辑器,却集成了教学功能,真的堪称史上最强。由于篇幅有限,一些细节和功能都没有介绍,有兴趣的同学可以探索体验一下。