目前,我正在创建 .npz 压缩文件来存储大型 NumPy 数组。因此,每次我需要从文件加载数组时,由于这是一个频繁的过程,我就考虑将 NumPy 数组存储在数据库中。我正在使用 PostgreSQL 数据库。
您可以使用 bytea 列来完成此操作(它可以存储任意二进制文件)。您可以使用 pickle.dumps 将 numpy 数组转换为二进制字符串,然后根据需要插入到 postgres 中。然后,您可以选择该数据并使用 pickle.loads 取回数组。这是对类似问题的回答:https://stackoverflow.com/a/57644761/7386185 https://stackoverflow.com/a/57644761/7386185
根据阵列的大小,您可能需要考虑某种 Blob 存储,例如 Amazon S3。
如果您经常访问此数据并且这是生产环境,您可能需要考虑将此数据保留在内存中。如果您的数组足够大,无法将其在内存中保留太久,那么您应该考虑您的应用程序是否允许批量或缓冲区流式传输数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)