python - 图像处理中的内存管理
问题描述
我对数据科学比较陌生,我正在尝试为Kaggle 黑色素瘤比赛创建一个 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 RAM 和 NVIDIA GeForce GTX 1660Ti GPU。我已经尝试使用多个调整大小运行此代码TARGET_SIZE
,并且每次我超载 RAM 时。我可以尝试增加交换,但我认为无论我使用多少它都会崩溃。
是否有任何文献或文档讨论图像处理中的 RAM 使用情况,或计算某些大小的 Numpy 数组将使用多少内存的方法?
解决方案
推荐阅读
- php - 为什么 PHP Session 似乎自己清空了
- rust - rust 中的多种返回类型
- dynamics-crm - 8.2 到 9.0.13 失败:“'属性'元数据实体不包含名称 = 'autonumberformat' 的元数据属性”
- c - 错误:第 24 行的 '->' 标记之前应为 ';'、',' 或 ')'
- xml - Ansible xml 在尝试修改现有属性的值时添加一个新属性
- sql-server - 将列转换为小数并指定其比例和精度而不会出现算术溢出错误?
- r - 在 R 中使用 dplyr 来识别任何实例,一列与另一列中的任何行匹配,按 id 分组
- python - t普通进口cython
- javascript - RN Javascript - 修改对象列表中的条目
- excel - 如何基于 Excel 中的下拉选择创建动态超链接?