谷歌 Colab 存储

Posted

技术标签:

【中文标题】谷歌 Colab 存储【英文标题】:Google Colab Storage 【发布时间】:2019-04-01 01:53:25 【问题描述】:

有人知道运行 Google Colab 的存储限制吗?上传 22gb zip 文件后,我似乎空间不足,然后尝试解压缩,提示

【问题讨论】:

链接***.com/questions/50260565/… “仅使用 GPU 运行时”不再起作用(或者可能不再需要),但我会考虑编写一些自定义数据加载器,它们使用 zipfile 直接从存档加载数据。解压例如无论如何,COCO 数据集都需要永远,即使你有存储空间。 【参考方案1】:

是的,Colab 笔记本的本地存储空间目前约为 40 GiB。查看确切值的一种方法(在 Python 3 中):

import subprocess
p = subprocess.Popen('df -h', shell=True, stdout=subprocess.PIPE)
print(str(p.communicate()[0], 'utf-8'))

但是:对于大量数据,本地存储不是直接连接到运行笔记本电脑的机器的 TPU 的非最佳方式。相反,请考虑将您的大型数据集存储在 GCP 存储中,并从 Colab 笔记本中获取该数据。 (此外,Colab 本地存储量可能会发生变化,Colab 笔记本本身会在几个小时后过期,同时占用本地存储。)

看看the canonical TPU Colab notebook。底部是一些后续步骤,其中包括指向Searching Shakespeare with TPUs 的链接。该笔记本中有以下代码片段,它演示了对 Colab TPU 的 GCP 身份验证。它看起来像这样:

from google.colab import auth
auth.authenticate_user()

if 'COLAB_TPU_ADDR' in os.environ:
  TF_MASTER = 'grpc://'.format(os.environ['COLAB_TPU_ADDR'])

  # Upload credentials to TPU.
  with tf.Session(TF_MASTER) as sess:    
    with open('/content/adc.json', 'r') as f:
      auth_info = json.load(f)
    tf.contrib.cloud.configure_gcs(sess, credentials=auth_info)
  # Now credentials are set for all future sessions on this TPU.
else:
  TF_MASTER=''

【讨论】:

@DerekT.Jones 我在 colab 中使用 keras,而不是纯 tensorflow。这意味着我没有声明tf.session。上面的代码是否也适用于我的情况?【参考方案2】:

目前,colab 中的本地存储量取决于所选的硬件加速器运行时类型:

# Hardware accelerator none
!df -h .
Filesystem      Size  Used Avail Use% Mounted on
overlay          49G   22G   26G  46% /

# Hardware accelerator GPU
!df -h .
Filesystem      Size  Used Avail Use% Mounted on
overlay         359G   23G  318G   7% /

# Hardware accelerator TPU
!df -h .
Filesystem      Size  Used Avail Use% Mounted on
overlay          49G   22G   26G  46% /

即使您不需要 GPU,切换到该运行时类型也会为您提供额外的 310Gb 存储空间。

【讨论】:

感谢您的更新。是的,仅将 GPU 用于额外存储是有意义的。 “资源不保证”。今天,2020-09-20,我尝试了 GPU 实例,我得到了大约 70GB 的覆盖空间,而硬件加速器没有得到大约 110GB 的空间。这一切都说,它是超级 YMMV! 今天我得到了 108GB 69GB 108GB。

以上是关于谷歌 Colab 存储的主要内容,如果未能解决你的问题,请参考以下文章