微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

图像处理中的内存管理

如何解决图像处理中的内存管理

我对数据科学比较陌生,我正在尝试为 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 举报,一经查实,本站将立刻删除。