【发布时间】:2016-03-29 17:50:44
【问题描述】:
我有一个 20GB 的图像库,存储为一个高维 numpy 数组。这个库允许我使用这些图像,而不必每次都重新生成它们。现在我的问题是 np.load("mylibrary") 花费的时间与生成几个图像所需的时间一样多。因此我的问题是:有没有办法存储一个 numpy 数组,以便无需加载即可轻松访问它?
编辑:我正在使用 PyCharm
【问题讨论】:
-
根据您要执行的操作,您可能会降低图像质量或在经过有损图像压缩后存储图像?否则,据我所知,硬盘上的 IO 将成为读取阵列序列化版本的限制因素。您是否还需要一次存储内存中的所有图像?将序列化的单个图像作为 blob 存储在数据库中可能有效吗?
-
第一个问题:你有多少内存可用?因为如果它不重要,那么您将不得不在某个时候进行磁盘 I/O,这几乎会扼杀您正在寻找的任何速度。
-
感谢您的回复。我正在使用配备 4 GB RAM 1600 MHz DDR3 的 MacBook Air。我可以在打开 PyCharm 时加载一次。我的问题是了解如何在函数中重复使用它(在加载后,如有必要)。
-
除了将所有图像保存为一个数组之外,您还可以将它们单独保存或使用
savez分组保存。这是一个延迟加载。还请查看load的 memmap 模式。
标签: python database numpy save