GoogleColab是一个免费的Jupyter环境,用户可以使用它来创建Jupyter笔记本,在浏览器中编写和执行Python代码,以及其他基于Python的第三方工具和机器学习框架比如Pandas,PyTorch,Tensorflow,Keras,Monk,OpenCV等。GoogleColab的优点是不需要任何配置就可以直接使用,并且提供免费的GPU。您可以与任何人共享实时代码、数学公式、数据可视化结果、数据处理、数值模拟、机器学习模型等。项目。之前机器之心也介绍过很多关于Colab的知识点,比如:玩转GoogleColab的20个技巧。本文将介绍如何将GoogleColab与Python结合使用,以及一些Colab使用技巧。项目地址:https://github.com/towardsai/tutorials/tree/master/google_colab_tutorial为什么大家都喜欢ColabColab的优势包括:提供免费的Jupyternotebook环境;预装软件包;完全托管在谷歌云上;用户不需要服务器或工作站设置;笔记本会自动保存在用户的Google云端硬盘中;基于浏览器的Jupyter笔记本可用;完全免费,提供GPU和TPU(Pro用户可以使用更多资源,但需要付费);支持Python2和Python3;提供两种硬件加速器:GPU和TPU。第一步:启动GoogleColab我们可以使用Colab直接在浏览器上运行Python代码,使用指南:https://mktg.best/d7b6u。启动窗口打开,弹出窗口中提供了多项功能:它提供了创建笔记本、上传和从不同来源(例如GitHub、GoogleDrive或您的本地计算机)进行选择的选项。从GitHub上传Notebook我们可以使用项目URL,或者搜索组织和用户直接从GitHub上传Python代码。使用URL上传项目的步骤如下图所示:启动GoogleColab,在弹出框中选择GitHub。输入GitHub项目URL并搜索以获取代码:一键将完整代码上传到GoogleColab笔记本:同样,用户可以通过按名称、日期、所有者或修改日期过滤保存的笔记本,直接从GoogleDrive上传代码。从Kaggle上传数据(一)从Kaggle生成APIToken从Kaggle获取的数据可以直接上传到Colab,但这需要Kaggle的APIToken才能完成数据导入,步骤如下:打开Kaggle进入“我的账户”向下滚动如有必要,在“API”部分,先点击“ExpireAPIToken”删除之前的token点击“CreateNewAPIToken”生成新的token,下载一个名为“kaggle.json”的JSON文件“kaggle.json”文件包含用户名和密钥如下:(2)从Kaggle上传数据的步骤在本地计算机上保存“kaggle.json”文件安装Kaggle软件包:!pipinstall-qkaggle导入包:fromgoogle.colabimportfiles上传本地文件“kaggle.json”:files.upload()检查Colab笔记本是否正确连接到Kaggle:!kaggledatasetslist从Kaggle下载任何比赛数据:!kagglecompetitionsdownload-theccompetitive-data-science-predict-future-salesKaggle数据将被下载和上传在Colab中加载如下:ReadingafilefromGoogleDriveColab还提供了从GoogleDrive读取数据的功能。导入包:importglobimportpandasaspfromgoogle.colabimportdriveMountGoogleDrive:drive.mount('/gdrive')这一步需要填写GoogleDrive的授权码:授权码输入框点击链接生成授权码ReadCSVfilefromGoogleDrivefile_path=glob.glob("/gdrive/MyDrive/***.csv")forfileinfile_path:df=pd.read_csv(file)print(df)设置运行时硬件加速器为GPUGoogleColab提供免费的GPU硬件加速器云服务。在需要同时处理多个计算的机器学习和深度学习中,高性能GPU价格昂贵但很重要。GPU通过并行化提供卓越的性能,在一次调用中启动数百万个线程。GPU的性能通常优于CPU,尽管与CPU相比它们的时钟速度较低且缺乏多核管理功能。(1)在Colab中设置GPU硬件加速器。设置步骤如下:选择Runtime→Changeruntimetype,在弹窗中选择“GPU”(2)在Colab中查看GPU的详细信息导入重要包:importtensorflowastffromtensorflow.python.clientimportdevice_lib查看GPU加速器tf.test.gpu_device_name()检查用于GPU的硬件:device_lib.list_local_devices()(3)使用GPU的代码示例在未选择运行时GPU时检查可用GPU的数量,将其设置为"None"。importtensorflowastfno_of_gpu=len(tf.config.experimental.list_physical_devices('GPU'))print("TotalGPUS:",no_of_gpu)硬件加速器为None,所以GPU个数的值为0。设置运行时硬件加速器为GPU:importtensorflowastfno_of_gpu=len(tf.config.experimental.list_physical_devices('GPU'))print("TotalGPUS:",no_of_gpu)硬件加速器为GPU,因此GPU个数为1。执行tensorGPU上的乘法:try:withtf.device('/device:GPU:1'):tensor1=tf.constant([[1.0,2.0,3.0],[4.0,5.0,6.0]])tensor2=tf.constant([[1.0,2.0],[3.0,4.0],[5.0,6.0]])result=tf.matmul(tensor1,tensor2)print(result)exceptRuntimeErrorasexception:print(exception)张量乘法结果。复制GitHubrepo到GoogleDriveGitHubrepo代码可以复制并存储到GoogleDrive,具体步骤如下:mountGoogleDrivefromgoogle.colabimportdrivedrive.mount('/content/gdrive')到Googledrive,创建目录“project”.%cdgdrive/MyDrive/mkdirproject%cdproject/克隆GitHub存储库,例如:!gitclonehttps://github.com/saniyaparveez/youtube_video_type_prediction.git检查克隆的项目:!lsColabMagicColab提供了许多有趣的技巧,包括几个可以执行快速操作的命令,这些命令通常以%为前缀。(1)Colabmagiccommandlist%lsmagic(2)Localdirectory%ldir(3)GetNotebookhistory%history(4)CPUtime%time(5)系统运行了多长时间?!uptime(6)显示available和usedmemory!free-hprint("-"*100)(7)显示CPU产品规格!lscpuprint("-"*70)(8)列出所有正在运行的虚拟机进程%%shecho"ListallrunningVMprocesses."ps-efecho"Done"(9)在HTML中嵌入文本%%html(10)设计HTML格式#@titlePersonalDetails#@markdownInformation.Name='Peter'#@param{type:"string"}Age=25#@param{type:"slider",min:1,max:100}zip=1234#@param{type:"number"}Date='2020-01-26'#@param{type:"date"}性别="男"#@param['男','女','其他']#@markdown---print("提交表单")print(string_type,slider_value,number,date,pick_me)print("已提交")在GoogleColab中生成HTML。单元格执行输出绘图GoogleColab也可用于数据可视化。以下代码和图形显示了GoogleColab绘制了多个多项式Y=X3+X2+X。x=np.arange(-10,10)y=np.power(x,3)y1=np.power(x,3)+np.power(x,2)+xplt.scatter(x,y1,c="red")plt.scatter(x,y)以下代码和图用于生成热图:importmatplotlib.pyplotaspltimportnumpyasnpimportseabornassnsnsnslength=10data=5+np.random.randn(length,length)data+=np.arange(length)data+=np.reshape(np.arange(length),(length,1))sns.heatmap(data)plt.show()GoogleColab中的TPUGoogleColab使用TPU(张量处理单元)在Tensorflow图上进行加速。TPU是Google开发的AI加速器专用集成电路(ASIC),专为神经网络机器设计。TPU具有出色的teraflop配置、浮点性能等。每个TPU每秒能够进行180万亿次浮点运算(180teraflops),并具有64GB的高带宽内存。(1)在Colab中设置TPU在GoogleColab中设置TPU的步骤如下:RuntimeMenu→ChangeRuntime选择TPUHardwareAccelerator(2)确认在TPUHardwareAccelerator上运行这需要TensorFlow包。下面的代码和实现可以确认Colab是否设置了TPU加速器:exceptValueError:print('Exception')如果TPU没有设置成功,代码会报错。结论GoogleColab是一个Jupyternotebook环境,用于通过执行基于Python的代码来构建机器学习或深度学习模型。GoogleColab完全免费(专业版除外),并提供GPU和TPU硬件加速器,易于使用和共享。本文列举了GoogleColab的使用技巧,希望能帮助大家更好的利用GoogleColab资源。资源:Googlecolab实现:https://colab.research.google.com/drive/1ymIYzFg4Q7iBjnTut31aBqPHgOpkjHYD?usp=sharingGithub仓库:https://github.com/towardsai/tutorials/tree/master/google_colab_tutorial原文翻译机器之心》,微信公众号“机器之心(id:almosthuman2014)”]点此查看作者更多好文
