【问题标题】:how to work with large training set when dealing with auto-encoders on google colaboratory?在 google colaboratory 上处理自动编码器时如何处理大型训练集?
【发布时间】:2021-03-22 23:23:16
【问题描述】:

我正在 google colab 上训练自动编码器 (keras)。但是,我有 25000 个输入图像和 25000 个输出图像。我试过了: 1- 每次将大文件从谷歌驱动器复制到 colab(需要 5-6 小时)。 2-将集合转换为 numpy 数组,但是在对图像进行规范化时,大小会变得更大(例如从 7GB 到 24GB),然后我无法将其放入 ram 内存中。 3- 我无法压缩和解压缩我的数据。 所以,如果有人知道如何在没有大文件(24GB)的情况下将其转换为 numpy 数组(并对其进行规范化)。

【问题讨论】:

    标签: numpy keras deep-learning google-colaboratory training-data


    【解决方案1】:

    我通常做什么:

    1. 压缩所有图像并将.zip 文件加载到您的 Google 云端硬盘中
    2. 在您的 colab 中解压缩:
    from zipfile import ZipFile
    
    with ZipFile('data.zip', 'r') as zip:
       zip.extractall()
    
    1. 您的所有图像都已解压缩并存储在 Colab Disk 上,现在您可以更快地访问它们。
    2. 在 keras 中使用生成器,例如 flow_from_directory 或创建自己的生成器
    3. 在适合您的模型时使用您的生成器:
    moel.fit(train_generator, steps_per_epoch = ntrain // batch_size,
             epochs=epochs,validation_data=val_generator, 
             validation_steps= nval // batch_size)
    

    ntrainnval 是您的训练和验证数据集中的图像数量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-17
      • 2020-05-11
      • 2019-09-20
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      • 2019-06-22
      相关资源
      最近更新 更多