如何在 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()
将有助于解决您的记忆问题。它从指定目录动态加载一批图像,并在应用预处理技术后将它们传递给模型。
我正在设计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()
将有助于解决您的记忆问题。它从指定目录动态加载一批图像,并在应用预处理技术后将它们传递给模型。