加载大型图像集会导致进程停止

加载1500张大小的图片 (1000,1000,3) 破译代码,通过 kill 9 而不会再出现任何错误。在这行代码之前使用的内存是 16% 占系统总内存的比例。图像的总大小为 7.1G.

X = np.asarray(images).astype('float64')
y = np.asarray(labels).astype('float64')

系统规格是:

  • 操作系统:MacOS Catalina
  • 处理器:2.2 GHz 6核英特尔酷睿i7 16 GB 2。
  • 内存:16 GB 2400 MHz DDR4

更新:在32个vCPU,120GB内存上运行代码时,出现了下面的错误。

MemoryError: Unable to allocate 14.1 GiB for an array with shape (1200, 1024, 1024, 3) and data type float32

解决方案:

你必须提供更多的信息细节才能得到准确的答案,但是,假设这是一个内存错误(难以置信的可能性,磁盘上的图像大小并不代表它们在内存中占据的大小,所以这是不相关的。在100%的情况下,由于指针、需要的对象等原因,内存中的图像会占据更多的空间。直觉上我会说,16GB的内存远远不够加载7GB的图片。不可能告诉你需要多少,但根据经验,我认为你需要将其提升到64GB。如果你使用的是Keras,我建议你研究一下Keras。DirectoryIterator.

编辑:Cris Luengo指出,我忽略了一个事实,就是你说的图片大小。

正如Cris Luengo所指出的,我没注意到你说的图像大小。

给TA打赏
共{{data.count}}人
人已打赏
未分类

具有Fusionauth passport-oauth OAuth2Strategy错误的节点。获取访问令牌失败

2022-9-9 9:43:20

未分类

非const lvalue的'const int *'类型的引用不能绑定到一个无关的'int *'类型的值。

2022-9-9 9:54:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索