【发布时间】:2020-10-11 09:26:35
【问题描述】:
我想使用 Google Drive 中的 numpy 文件 (.npy) 到 Google Colab 中,而不将其导入 RAM。
我正在研究图像分类并将我的图像数据放入 Google Drive 中的四个 numpy 文件中。文件的总大小大于 14 GB。而 Google Colab 仅提供 12 GB RAM 供使用。有没有一种方法可以通过一次仅将单个批次加载到 ram 中来训练模型并将其从 ram 中删除(可能类似于 flow_from_directory)来使用它?
使用 flow_from_directory 的问题是即使我在 Colab 目录中有图像,即使是 VGG16 的一个块也非常慢。
我正在使用来自 Kaggle 的 Cats vs Dogs Classifier 数据集。
! kaggle competitions download -c 'dogs-vs-cats'
我将图像数据转换为numpy数组,并保存在4个文件中:
X_train - float32 - 10.62GB - (18941, 224, 224, 3)
X_test - float32 - 3.4GB - (6059, 224, 224, 3)
Y_train - float64 - 148KB - (18941)
Y_test - float64 - 47KB - (6059)
当我运行以下代码时,会话崩溃并显示“您的会话在使用所有可用 RAM 后崩溃。”错误。
import numpy as np
X_train = np.load('Cat_Dog_Classifier/X_train.npy')
Y_train = np.load('Cat_Dog_Classifier/Y_train.npy')
X_test = np.load('Cat_Dog_Classifier/X_test.npy')
Y_test = np.load('Cat_Dog_Classifier/Y_test.npy')
有没有什么方法可以在不加载到内存的情况下使用这4个文件?
【问题讨论】:
-
你有MCVE吗?
-
MCVE 用于哪个部分。问题是 RAM 内存过载。
-
看看,我加了一些
-
其他相关:Efficient way to partially read large numpy file? .. How to partial load an array saved with numpy save in python - 有更多搜索与
python numpy load part of .npy site:stackoverflow.com的变体
标签: python numpy google-colaboratory