【问题标题】:Google colab cache google drive content谷歌 colab 缓存谷歌驱动器内容
【发布时间】:2021-07-07 02:14:24
【问题描述】:

我在谷歌驱动器上有一个大约 20GB 大的数据集。 我使用生成器将数据集拉入到我的 keras/TF 模型中,加载文件的开销(对于每个批次)是疯狂的。

我想将内容作为一个操作预取,然后简单地从本地 VM 磁盘中提取

我试过了:

from google.colab import drive
drive.mount('/content/drive')
!mkdir -p $RAW_NOTEBOOKS_DIR
!cp $RAW_NOTEBOOKS_DIR $LOCAL_NOTEBOOKS_DIR

但是,这个 sn-p 运行会立即执行完毕(因此它显然没有下载数据 - 这是 cp 命令的意图(从驱动器复制到本地)。

这可能吗?


RAW_NOTEBOOKS_DIR = "/content/drive/My\ Drive/Colab\ Notebooks"

【问题讨论】:

  • 您是否检查过cp 的调用是否失败? cp 无法复制没有 -r 标志的目录。
  • @Brian 我实际上注意到我在 google 驱动器路径中遇到了空格问题。 ...\My\ Drive\... 是否应该在 My Drive 文件夹中进行获取?
  • @Brian 问题还与:ValueError: Mountpoint must not contain a space. 当我尝试做drive.mount(RAW_NOTEBOOKS_DIR) 时有关:drive.mount(RAW_NOTEBOOKS_DIR)
  • RAW_NOTEBOOKS_DIR = "/content/drive/My\ Drive/Colab\ Notebooks"

标签: python tensorflow keras google-colaboratory


【解决方案1】:

在 google codelab 上有一个很好的例子,他们在本地 TFRecords 中编写数据集:

https://codelabs.developers.google.com/codelabs/keras-flowers-tpu/#0

您可以在此处找到更多信息:

https://keras.io/examples/keras_recipes/tfrecord/

因此,您无需每次都从 google drive 读取数据,只需读取一次并将其写入 TFRecord 的本地内存中,然后将其传递给模型进行训练。

如果您按照指南进行操作非常简单。

【讨论】:

    猜你喜欢
    • 2018-10-14
    • 2021-03-25
    • 2018-07-19
    • 2020-09-18
    • 1970-01-01
    • 2020-07-02
    • 2021-06-13
    • 1970-01-01
    • 2020-07-30
    相关资源
    最近更新 更多