热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

英伟达登录界面卡住_免费!GoogleColab现已支持英伟达T4GPU

新智元报道编辑:元子【新智元导读】GoogleColab现在提供免费的T4GPU。Colab是Google的一项免费云端机器学习服务,T4GPU耗能仅为

4e85fe73eedab0b228fb31cb5aee489c.png

  新智元报道   

编辑:元子

【新智元导读】Google Colab现在提供免费的T4 GPU。Colab是Google的一项免费云端机器学习服务,T4GPU耗能仅为70瓦,是面向现有数据中心基础设施而设计的,可加速AI训练和推理、机器学习、数据分析和虚拟桌面。

Google Colab是Google内部Jupyter Notebook的交互式Python环境,不需要在本地做多余配置,完全云端运行,存储在GoogleDrive中,可以多人共享,简直跟操作Google Sheets一样简单。之前只提供英伟达Tesla K80,现在已经支持TPU了!英伟达T4 GPU耗能仅为70瓦,是面向现有数据中心基础设施而设计的,可加速AI训练和推理、机器学习、数据分析和虚拟桌面。

a7b1516aa80e7ecd03ead8d1a95dc8d6.png

运行命令

!nvidia-smi

返回结果

864af87a021a6bb7f6cd88c4cb86ffd2.png

有Reddit网友表示Colab TPU比本地GTX 1080Ti的速度慢了将近2倍

Google关于使用TPU的教程:

https://colab.research.google.com/notebooks/tpu.ipynb#scrollTo=71iSWtsXe36x

Google Colab介绍

Google Colab不需要安装配置Python,并可以在Python 2和Python 3之间快速切换,支持Google全家桶:TensorFlow、BigQuery、GoogleDrive等,支持pip安装任意自定义库,支持apt-get安装依赖。

d6ea8affe34b94afcbfe5bddf4ef40b0.png

它最大的好处是为广大的AI开发者提供了免费的GPU和TPU,供大家进行机器学习的开发和研究。GPU的型号正是Tesla K80,可以在上面轻松地跑Keras、Tensorflow、Pytorch等框架;最近新增加的TPU是英伟达T4,可以在更广阔的天地大有作为了。

当然还有一个好处:不需要前期环境配置。相信很多人对前期环境配置过程中,遇到的各种奇奇怪怪问题深有体会:Anaconda套件该选择哪个版本?路径没设置好导致Jupyter Notebook调不出来等等。而Google Colab直接配置好一个环境,即插即用。

3b4b8965546b84808683a39ae59ab886.png

Colab的文档使用我们最喜爱的Markdown格式,并且提供预览模式可以直接看到输出文档的最终样式。

虽然说目前为止一直免费,一次最多可以免费使用12小时。但不确定是否未来会收费。所谓早体验早享受;晚体验有可能要等折扣了。

Colab官网:

https://colab.research.google.com

预备工作

首先我们需要在Google Drive上新建一个文件夹:

c85e9b6af39d097d014d791cb6ac4a3a.png

然后从下拉菜单里直接进入Colab即可。

4bd4668e2e87c9cb213d5e24d1ec5313.png

接下来需要做一些简单的配置。比如你可以选择使用Python 2或者3笔记本,然后选择硬件加速器,接下来就可以愉快的敲代码了。

或者你也可以直接wget一个共享的zip包。例如下载并解压Udacity的花朵数据:

d984e217c1338598a35a595eebad5aa9.png

创建/打开一个笔记本

在Colab里创建/打开笔记本很简单,直接点击新建/打开即可:

4751068b598216c9abfa2bd12fb49875.png

创建的时候会提示你选择GPU或者TPU。如果你没有选,或者你想给现有的项目更换硬件加速器,那么都可以通过Edit→Notebook Settings,或者Runtime→Change rumtime type重新选择,即时生效。

a7b1516aa80e7ecd03ead8d1a95dc8d6.png

更换硬件加速器类型后,运行以下代码检查是否使用了GPU或者TPU:

from tensorflow.python.client import device_libdevice_lib.list_local_devices()

5a7604e8ddcab1b346872ec683e22ed0.png

如果返回结果中没有GPU或者TPU字样只有CPU字样,那么说明没有使用到二者。

f3185b3c5653290d5ada1f550fe0bef6.png

注意上图里的Github标签,超棒对不对!

05d7ab2b6f90b847d0a2bc47e91a7636.png

还有一点需要注意的是,因为Colab运行在云端,所以一定要记住随时保存,请把保存按钮当做vim里的esc来对待。

c843757a39523f09411795338d3c2b36.png

当然也可以把文件下载到本地或者上传到云端。

库的安装和使用

Colab自带Tensorflow、Matplotlib、Numpy、Pandas等深度学习基础库,直接import即可,目前连PyTorch也能直接import了。

某些库可能需要先安装后才能使用,比如keras:

bbaddaa8e8d58329b3947aaf22dd1ad6.png

安装PyTorch:

905f86e9620d9e168513ccfcce29e0dd.png

除了pip,还支持apt-get。安装OpenCV:

8d462477418452761e0a6b6c9b52b18b.png

安装XGBoost:

ab9001f54990048202ee502a7a378e47.png

有的第三方Python库可能需要依赖Java或是其他软件才能运行,安装过程稍微复杂一点:

c95462d72a9cf5b64f700d4018a02c9f.png

注意--yes这个小操作很关键,如果没有系统可能会卡住(有兴趣的读者可以尝试一下)。其他软件也类似,注意最后加上--yes

安装有版权的oracle-java-installer,需要有同意协议的操作:

7782c1592de36b7294c51997051219c3.png

设置系统默认jdk:

2d33a12dec8504336f4f19d7d8ad587d.png

测试Java是否安装成功:

d7d66e42e74bc9bcd2eb5d65dc04d3d0.png

2个小技巧

1. 免费用GPU

在笔记本设置中,确保硬件加速选择了GPU。检查是否真的开启了 GPU(即当前连接到了GPU实例),可以直接在Jupyter Notebook中运行以下命令:

import tensorflow as tfdevice_name = tf.test.gpu_device_name()if device_name != '/device:GPU:0': raise SystemError('GPU device not found')print('Found GPU at: {}'.format(device_name))

顺利的话会出现:

Found GPU at: /device:GPU:0

不顺利的话:

e4dfba4b3adb941708d8e51179a6c8ec.png

谷歌允许你一次最多持续使用12小时的免费 GPU。

2. 上传并使用数据文件

除了使用菜单里的上传按钮外,我们还可以通过代码调用笔记本中的文件选择器:

from google.colab import filesuploaded = files.upload()

之后,我们就会发现单元 cell 下出现了“选择文件”按钮:

77af25c1c8a066ec3635becb332aa114.png

然后就可以直接上传文件了

参考链接:

  1. https://www.reddit.com/r/MachineLearning/comments/bglwhy/n_google_colab_now_comes_with_free_t4_gpus/

  2. https://towardsdatascience.com/getting-started-with-google-colab-f2fff97f594c

  3. https://www.jianshu.com/p/000d2a9d36a0

  4. https://www.kdnuggets.com/2018/02/essential-google-colaboratory-tips-tricks.html

更多阅读

  • Nature 重磅封面:复活死亡大脑!


新智元春季招聘开启,一起弄潮 AI 之巅!

岗位详情请戳:

2099fd773d57a864095670d9a66509cb.png

【加入社群】

新智元 AI 技术 + 产业社群招募中,欢迎对 AI 技术 + 产业落地感兴趣的同学,加小助手微信号:aiera2015_2   入群;通过审核后我们将邀请进群,加入社群后务必修改群备注(姓名 - 公司 - 职位;专业群审核较严,敬请谅解)。

e698b2105d251e9047ee9d3b7fadd174.gif




推荐阅读
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 本文介绍了Cocos2dx学习笔记中的更新函数scheduleUpdate、进度计时器CCProgressTo和滚动视图CCScrollView的用法。详细介绍了scheduleUpdate函数的作用和使用方法,以及schedule函数的区别。同时,还提供了相关的代码示例。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
author-avatar
低碳的S
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有