如何在 Google Colab 中高效使用 GPU 内存?

How to Use GPU RAM in Google Colab efficiently?

我正在设计multi_label_image_Classifier。为此,我需要加载大约 7867 个的 train_images。当我加载图像时,RAM 使用量从 0.92 GB 增加到 12.5 GB。

加载后,当我将图像放入 numpy 数组时,RAM 使用总可用大小,即 25.54 GB,代码停止执行并出现错误 "your session crashed"

我正在使用的示例代码

train_images= []
for i in tqdm(range(train.shape[0)):
    img = image.load_img(
        '/content/Multi_Label_dataset/Images/'+train['Id'][i]+'.jpg',
        target_size=(400,400,3)
        )
    img = image.img_to_array(img)
    img = img/255
    train_image.append(img)

以上 RAM 使用量为 12.52 GB

X= np.array(train_image)

执行此行时,RAM 使用量变为红色,并弹出 "Session Crashed Message"

如何处理???

您的数据集太大,无法一次全部加载到 RAM 中。这是使用图像数据集时的常见情况。除了数据集,RAM 还需要保存模型、其他变量和额外的 space 以供处理。

为了帮助加载,您可以使用 data_generators()flow_from_directory()。这些方法在 Keras 中可用,请查看 documentation.

data_generator() 负责所有图像预处理,例如重塑和规范化。 flow_from_directory() 将有助于解决您的记忆问题。它从指定目录动态加载一批图像,并在应用预处理技术后将它们传递给模型。