目录
Colab介绍
- Colab是google最近推出的一项Python在线编程的免费服务, 不过在国内可能无法访问google的服务。
- Colab环境已经集成了流行的深度学习框架Tensorflow,并附赠了一个虚拟机(40GB硬盘+2*2.30GHZ CPU+12.72GB内存)。
- Colab的操作类似于jupyter notebook
- Colab如同使用 Google 文档或表格一样存储在 Google云端硬盘中,并且可以共享
- 参考链接
官网介绍
https://colab.research.google.com/notebooks/intro.ipynb#
官网常见问题解答
https://research.google.com/colaboratory/faq.html
Google在线深度学习神器Colab
https://www.jianshu.com/p/81eae79ee78b
费用统计:
colab pro,10.59$【含税】,大约71元每月
google drive 100g,大约13元每月
colab pro订阅链接,可以提高使用额度【运行时间】
https://colab.research.google.com/signup?utm_source=faq&utm_medium=link&utm_campaign=seems_too_good
colab pro官方使用方法介绍
https://colab.research.google.com/notebooks/pro.ipynb
Colab Pro购买
https://zhuanlan.zhihu.com/p/133880562
colab可以tb购买。可以双开。
https://tieba.baidu.com/p/6584443729?pn=1
Colab处理文件慢的解决办法
https://zhuanlan.zhihu.com/p/218133131
colab12小时限制怎么解决?重启一次就好
https://zhuanlan.zhihu.com/p/145929375
Colab提供的GPU
Colab 中的可用 GPU 类型会不时变化。只有这样,Colab 才能免费提供这些资源。Colab 中的可用 GPU 通常包括 Nvidia K80、T4、P4 和 P100。在任何给定时间,您都无法选择在 Colab 中连接的 GPU 类型。如果想要更稳定地使用 Colab 最快的 GPU,用户可以订阅 Colab Pro。
在近期,谷歌将原来K80换成了T4,具体差距有多少,看下面的摘自英伟达官网的图。
https://developer.nvidia.com/cuda-gpus#compute
Colab提供的CPU
- 查看虚拟机硬盘容量
!df -lh - 查看cpu配置
!cat /proc/cpuinfo | grep model\ name - 查看内存容量
!cat /proc/meminfo | grep MemTotal
常见问题
- 在 Colab 中,笔记本可以运行多长时间?
笔记本要连接到虚拟机才能运行,虚拟机的最长生命周期可以达到 12 小时。笔记本如果处于空闲状态的时间过长,也会与虚拟机断开连接。虚拟机的最长生命周期和空闲超时行为可能会随时变化,也会根据您的使用情况调整。只有这样,Colab 才能免费提供计算资源。如果用户希望虚拟机的生命周期更长、对空闲超时行为的限制更宽松,并希望这两项随时间变化的幅度小一些,可以订阅 Colab Pro。
注:
- 一般掉线都会自动连接上的,训练的过程也不会随着掉线而断,因为代码被托管到另外一方在执行,所以等自动连接上后模型还是照常训练的。
- 重新连接后,可能不需要重新训练,变量仍然在机器的内存中。
- Colab 提供多大内存?
Colab 虚拟机提供的内存大小会不时变化(但在虚拟机的生命周期内是稳定不变的)。(不时调整内存有利于我们持续免费提供 Colab。)如果 Colab 检测到您可能需要额外的内存,系统有时会自动为您分配包含额外内存的虚拟机。如果用户希望在 Colab 中获得更多、更稳定的内存,可以订阅 Colab Pro。 - 如何才能充分利用 Colab?
Colab 中的资源会优先提供给最近资源用量较少的用户,以防少数用户独占有限的资源。要充分利用 Colab,请在完成工作后关闭 Colab 标签页,并在没有实际需求时避免选用 GPU。这样,您在 Colab 中遇到使用量限额的情况就会减少。如果用户希望超越免费版 Colab 的资源限制,可以订阅 Colab Pro。
环境配置
-
在colab上配置gpu环境
https://zhuanlan.zhihu.com/p/54389036
每次使用都需要重新配置你上次自己安装的环境,默认环境当然就不用啦。还有就是CUDA和Cudnn不需要重新配置(亲测),我也不知道为什么…欢迎指正。然后给大家安利一个方法,就是独立出一个页面把你要配的环境的代码都写在该页面下,下次打开只需要运行所有单元格就可以再开一个页面来跑你需要跑的程序啦。 -
在colab上安装自己需要的包
https://www.cnblogs.com/lfri/p/10495134.html -
安装anaconda
https://www.zhihu.com/question/334188434/answer/746000074
常用操作
https://blog.csdn.net/jiangzhiyuan123/article/details/104471722/
https://www.cnblogs.com/jiaxin359/p/10234946.html
查看GPU信息
!/opt/bin/nvidia-smi
- 查看pytorch版本
import torch
print(torch.__version__)
- 查看tf是否可用
import tensorflow as tf
tf.test.gpu_device_name()
挂载drive
在运行代码的时候需要从Google硬盘读取数据,需要将结果保存到硬盘当中,这个时候需要进行挂载,期间需要输入一个验证码。
from google.colab import drive
drive.mount('/content/drive/') # 将google硬盘挂载在/comtent/drive/目录上面
切换路径
- cd drive/My\ Drive/
- import os
os.chdir('drive/Colab Notebooks')
- 相对路径上一级及上上级目录的表示方法
../mykeystore.jks
上上级:../../
https://blog.csdn.net/mqdxiaoxiao/article/details/96898657
运行某个python文件,基本都只要前面加一个!
!python xx.py
- 查看当前目录所有文件
!ls - 查看当前文件路径
!pwd
安装和导出依赖
!pip install xxx
pip install -r requirements.txt
conda install --yes --file requirements.txt
pip freeze > requirements.txt
https://blog.csdn.net/mao_jonah/article/details/89502380
文件管理
colab打开就能直接使用,但当你第二次打开的时候,之间的文件和数据就直接清零了。这肯定不能用呀,是不是。
不用担心,colab能配置google drive使用,这是google免费给我们提供的云盘。
上传文件到谷歌drive
- 将文件和文件夹上传到 Google 云端硬盘
https://support.google.com/drive/answer/2424368 - 如何直接在Colab 上解压Google drive 的文件:
https://www.imooc.com/article/302292?block_id=tuijian_wz
https://blog.csdn.net/zhangdongren/article/details/106237170
colab挂载谷歌drive
- 挂载谷歌drive,安装不同版本tf,查看tensorboard
https://zhuanlan.zhihu.com/p/111343423
将Github存储库克隆到Google Colab
https://blog.csdn.net/qq_40178533/article/details/105972390
文件运行
https://www.jianshu.com/p/a42d69568966
-
使用Jupyter Notebook直接运行
第一种方式是直接跟Jupyter Notebook一样运行,不在赘述。 -
运行到jupyter notebook的哪个单元格
如果选择运行所有单元格,会一直运行到最后一个单元格。
在这个过程中,方块是正在运行或者已运行的单元格,三角是未运行的单元格。
如果提前停止了,需要根据报错信息来确定运行到了哪个单元格。
-
上传文件运行
第二种方式是先上传python文件到你的谷歌云盘,包括数据集。然后使用命令行运行,运行前注意路径设置是否正确。如下:
! python example.py
其他
报错
pytorch
RuntimeError: Invalid device string: ‘cuda: 0’
修改代码:
# os.environ['CUDA_VISIBLE_DEVICES'] = args.gpu # device = torch.device("cuda: 0") device = torch.device("cuda")
Google colab 阻止自动掉线
https://blog.csdn.net/m0_37750065/article/details/104824745
Corgi和Kitty模式
https://blog.csdn.net/duxinshuxiaobian/article/details/105859198