一、简介

Colab 是谷歌推出的一款在线深度学习工具,提供Tesla V100 、T100等GPU,现在国内大量人使用,已经被玩坏了。今年四月份的时候,使用Colab还不用开Pro,就能使用十几个小时的GPU,现在只能使用cpu了。而且经常分不到资源,经常会断开。目前可能由于显卡短缺的原因,不容易预约到Tesla V100,经常是Tesla P100 (16GB),而且有时候不能多开3个GPU窗口了。训练网络时候,Tesla V100速度是P100的近3倍。

今天开了Pro,频繁断开连接依旧没有得到缓解,感觉9.9刀打了水漂。最恶心的是,这个还联系不了客服,真的是有苦说不出,哎,资本家的羊毛难薅!!!不过最好的一点就是,一旦在跑代码就不会断开,所以空闲时频繁断开是为了提高GPU的利用率?真当是操作系统并发执行呢?

好吧,Colab Pro 有点卵用,我笔记本的显卡是GTX1050,在我的实验中,Colab pro使用的GPU速度是我的本机的两倍。运行下面代码,所用时间是我的1/3000,也说明比我本机计算快了近3000倍。所以就觉得很奇怪,怎么就只提升了2倍呢?可能我的实验中,主要时间在其他方面?现在还不清楚,我把数据从谷歌硬盘加载到了colab虚拟机,所以应该不存在频繁I/O浪费大量时间。后面会提到这一点。

总而言之,Colab 现在槽点一大堆,坑多的一批,最恶心的就是频繁掉线,说好的24小时,现在2-4秒就给我一断????呸,恶心!

import torch
import torchvision
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'
import numpy as np
print(torch.__version__)
print(torch.cuda.is_available())
print(torchvision.__version__)import torch
# 以下代码只有在PyTorch GPU版本上才会执行
import timea = torch.randn(10000, 50000)
b = torch.randn(50000, 2000)device = torch.device('cuda')
a = a.to(device)
b = b.to(device)t0 = time.time()
c = torch.matmul(a, b)
t1 = time.time()
print(a.device, t1 - t0, c.norm(2))

二、谷歌硬盘

先讲下谷歌硬盘,进入Colab之后右上角会看到如下的界面,点击那两个黄色的圈圈可以直接进入谷歌硬盘,进入谷歌硬盘之后就可以把自己的项目从本地传到云端硬盘。然后再Colab中就可以直接访问云端的资源,执行云端的代码!

三、连接云盘

进入Colab之后,点击如下红色框内的图标会生成下列代码,如果没有生成也可以复制到Colab笔记本执行即可连接云盘。这个时候只需要打开生成的URL,使用谷歌账号登录到目标云盘,可以是别人的云盘,输入验证码即可连接到云盘,云盘的根目录是 content,云盘目录是content/drive/MyDrive 。Colab笔记本代码会保存在Colab NoteBooks下面。而目录的data 、check是我自己生成的目录,这些目录一旦资源释放,就会全部被清空。

from google.colab import drive
drive.mount('/content/drive')

​​

四、实验与代码

这里应该是最重要的内容了,在Colab跑自己的代码其实非常容易,我们就好比实在临时服务器上操作一模一样。在Colab笔记本中,我们既可以写Python代码,也可以写终端命令也就是cmd命令,其中Python代码可以直接写在代码行中,而终端命令需要在前面加上英文感叹号 ! , 现在需要先掌握几个命令:

pwd 命令用来查看当前的工作路径:

!mkdir  XXX  新建文件夹,XXX是你的路径与文件名,例如下图是在根目录下创建data文件夹。

#设置根目录为此路径,即工作路径
import os
os.chdir('/content/drive/MyDrive/paper/fastswa_semi_metric_files/')

上面代码是设置云端硬盘项目主目录为工作根目录,这样子的话就无需改动,项目里面的路径了,对了项目中要使用相对路径,否则会报错。如实在需要使用绝对路径,那么一定要是 /content/drive/MyDrive/ 开头。这样的话,我们就进入到了我们的项目中了,再执行下面的命令就可以运行我们的mian.py 了,前面感叹号一定要是英文感叹号。

! python main.py

如此一来就可以在Colab中连接到谷歌云端硬盘,然后再进入项目主目录运行我们的代码了。但是又有个问题来了,就是我们的Colab服务器与云端硬盘并不是在一台服务器上,所以如果我们的项目中有大量的数据需要读取,那么这个I/O操作是非常消耗时间的。这个时间简直让人疯了,比我本机还慢,所以为了解决这个问题,需要把云端的数据加载到上文的 content 路径下,例如上文的data 目录下。首先把数据打包成zip压缩包上传到云端硬盘中,例如我的数据是data-local.zip,放在Demo路径下,使用如下命令进行copy到./data/下,也就是content/data路劲下,Linux中./表示主目录content/。

!cp /content/drive/MyDrive/paper/Demo/data-local.zip ./data/

然后再进入到./data目录下,解压data-local.zip数据,这个过程都很快,前面copy数据也非常快,然后就需要改一下代码中的读取数据的路径了,改成./data/data-local/XXX 即可读取,这时候运行起来就非常快了!

!cd ./data && unzip data-local.zip

五、总结

买了一个月的Pro,一句话,甭管是不是Pro他都会给你断开连接。我四月份使用的是宿舍的100M带宽,不会出现这个情况,连接的好好的。现在是50M的带宽,VPN也是正常的,访问YouTube也非常丝滑,一开始我怀疑是我的网络问题,后面我觉得应该是使用的人太多了,资源不够分配了,所以才频繁断开又重新连接。但是资源不会释放,如果在它正常连接时间内把代码跑起来了,那么会一直连接,不会出现断开的情况,除非超过24小时使用才会强制断开。

总之吧,要问我买了Pro值不值?我个人觉得暂时一点都不值的,体验感为0,频繁断开已经彻底激怒了我!早点弃坑!需要借用账号的可以私聊我,资本家的羊毛不用白不用!

谷歌Colab pro相关推荐

  1. 450刀的eGPU vs 谷歌Colab,谁更划算?

    选自medium 作者:Jeremy DiBattista 机器之心编译 参与:陈萍 转载自公众号:机器之心 eGPU 与谷歌 Colab 的运算差异性如何? 众所周知,深度学习 "炼丹&q ...

  2. 谷歌Colab也搞“超级会员”,普通会员云GPU被降级,想用高端得加钱

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 在Colab成为付费会员后,就一定能用上V100和P100? Nonono,现在你可能会"碰巧"用上Tesla T4! ...

  3. 基于Colab Pro Google Drive的Kaggle实战

    原文:https://hippocampus-garden.com/kaggle_colab/ 原文标题:How to Kaggle with Colab Pro & Google Drive ...

  4. 使用谷歌Colab(Colaboratory)免费GPU训练自己的模型及谷歌网盘无限容量(Google drive)申请教程

    使用谷歌Colab(Colaboratory)免费GPU训练自己的模型及谷歌网盘无限容量(Google drive)申请教程 谷歌的colab(Colaboratory)是谷歌为全世界学术研究者免费提 ...

  5. 使用Google Colab Pro训练模型并且使用distiller进行模型优化

    使用Google Colab Pro训练模型并且使用distiller进行模型优化 Google Colab Pro Colab Pro基本使用 Distiller的下载与环境配置(Colab中) D ...

  6. 使用谷歌 Colab Notebooks,这 6 个小技巧你需要掌握

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 选自 | Medium 作者 | Iden W. 转自 | 机器之心 ...

  7. 使用谷歌Colab Notebooks,这6个小技巧你需要掌握

    选自Medium 作者:Iden W. 机器之心编译 编辑:陈萍.杜伟 切换暗黑模式.读取 CSV 文件- 这些非常实用的小技巧为开发者使用谷歌 Colab Notebooks 提供了便利. Goog ...

  8. 【深度学习】基于Colab Pro的TPU训练模型教程(Tensorflow)

    [深度学习]基于Colab Pro的TPU训练模型教程(Tensorflow) 文章目录 1 概述 2 对比 TPU 与 GPU 的计算速度 3 总结和简易的测试代码 4 为什么使用 TPU 1 概述 ...

  9. 谷歌colab运行自己的项目的一些细节

    1.连接谷歌colab from google.colab import drive drive.mount('/content/gdrive') 2.安装相关的包,版本要对应好,注意卸载掉之前的tf ...

最新文章

  1. 评价cnblogs.com的用户体验
  2. labview如何进行串口通讯(转)
  3. 048_String对象
  4. 攻防世界Reverse第七题simple-unpack
  5. linux下gdb单步调试
  6. ubuntu安装python3、setuptools、ipython
  7. iTerm2、Oh My Zsh、主题等
  8. 代码生成插件Easy Code 使用
  9. OC之集合的创建及应用
  10. 新基建东风下,程序员这样乘风破浪!
  11. C语言的常用字符串操作函数(一)
  12. java里氏替换原则例子_java 设计原则(六)里氏替换原则
  13. 如何为SSH登录建立双因子验证机制(谷歌身份验证器)?
  14. u盘占内存,却找不见内容
  15. 如何用计算机玩扫雷,电脑扫雷技巧详细解析 扫雷游戏怎么玩
  16. rand()函数详解
  17. html相同标签nth,比较CSS3选择器:nth-child和:nth-of-type之间的区别
  18. pom文件找不到子项目_java,eclipse_eclipse中maven项目pom.xml文件找不到parent要怎么解决?,java,eclipse,maven - phpStudy...
  19. 2021重庆市高考成绩排名查询,重庆2021高考成绩排名榜单,重庆各高中高考成绩喜报...
  20. openpyxl官方手册

热门文章

  1. Linux FTP服务器搭建(Docker)
  2. 基于JAVA致一企业网站计算机毕业设计源码+系统+数据库+lw文档+部署
  3. 两种数据格式(Parquet/ORCfile)浅析
  4. 小程序界面都有什么特点?
  5. java 注释 see_java注释
  6. c语言 字符串 格式化,c的格式化字符串
  7. PHP 精典汇总(转载)
  8. centos python_【Python安全攻防过渡篇:web编程和环境搭建】
  9. android -------- 颜色的半透明效果配置
  10. 累乘法c语言 was,c语言累加累乘ppt课件