我在尝试确定在我的机器上训练神经网络所需的最小存储空间。通常情况下,(图像)数据集在原始形式下相对较小,但当我们使用Keras中的flow_from_directory进行转换时,我们会对图像进行增强,某种程度上相当于按我们需要的倍数扩大了数据集的大小。
我的问题是:flow_from_directory是如何处理存储这些增强后的图像的?如果我没有指定需要存储这些图像(类的参数),Keras是会增强图像、使用它进行训练然后丢弃它,还是会将它保存一段时间,直到训练结束前一直占用我的计算机资源?
另外,这些图像是存储在持久内存中还是RAM中?提前感谢您的回答。
回答:
默认情况下,ImageDataGenerator会即时进行数据增强,并且不会将增强后的图像存储在任何地方。正如您提到的,这样做会占用太多的空间。因此,您只需要担心是否有足够的RAM来容纳一定数量的增强批次,而不需要担心整个数据集的存储。