如何解决图像处理中的内存管理
我对数据科学比较陌生,我正在尝试为 Kaggle melanoma competition 创建一个 CNN 模型。我创建了以下两个函数来将 JPEG 图像文件夹转换为 Numpy 数组:
def keras_pipeline(file):
TARGET_SIZE = (100,150)
img = load_img(file,target_size=TARGET_SIZE)
img_array = img_to_array(img)
return img_array
def files_to_array(path,files_list):
files = [path+file for file in files_list]
with concurrent.futures.ProcesspoolExecutor() as executor:
img_map = executor.map(keras_pipeline,files)
return img_map
然后我会在卷积网络中使用该数组。
我在 ASUS TUF A15 上运行,具有 8 个内核、16GB 内存和 NVIDIA GeForce GTX 1660Ti GPU。我尝试使用多次调整大小的 TARGET_SIZE
来运行此代码,并且每次都使 RAM 过载。我可以尝试增加交换,但我认为无论我使用多少它都会崩溃。
是否有任何文献或文档讨论图像处理中的 RAM 使用情况,或计算特定大小的 Numpy 数组将使用多少内存的方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。