Python 在Keras中高效存储运行时加载的2D热图

Python 在Keras中高效存储运行时加载的2D热图,python,memory,keras,deep-learning,bigdata,Python,Memory,Keras,Deep Learning,Bigdata,我想用Keras在大量的热图上训练一个自动编码器(带卷积块)。热图为2D,尺寸为1000 x 1000 x 1(一个颜色通道)。heat maps汇总了多个用户的使用统计信息(例如web浏览器使用情况)。对于每个用户,我创建了大约1000个热图,总共有100个用户,所以总共有100000个热图。热图相对稀疏(即大量零条目) 我现在的问题是如何有效地存储这些热图。热图不能同时保存在内存中。我可以将热图存储为png或jpg文件,但问题是将10万个热图存储为jpg或png需要很多时间,我不知道读取这些

我想用Keras在大量的热图上训练一个自动编码器(带卷积块)。热图为2D,尺寸为1000 x 1000 x 1(一个颜色通道)。heat maps汇总了多个用户的使用统计信息(例如web浏览器使用情况)。对于每个用户,我创建了大约1000个热图,总共有100个用户,所以总共有100000个热图。热图相对稀疏(即大量零条目)

我现在的问题是如何有效地存储这些热图。热图不能同时保存在内存中。我可以将热图存储为png或jpg文件,但问题是将10万个热图存储为jpg或png需要很多时间,我不知道读取这些文件是否非常有效。另一种可能是将每个用户的所有热图存储在一个文件(如hdf)中。问题是我想将数据分割成一个训练、验证和测试集,并在运行时加载数据。当我单独存储每个热图(例如作为jpg)时,可以使用Keras的
数据生成器
。但是,当我为每个用户都有一个热图文件时,我不知道如何在培训、验证和测试中进行分割,以便在运行时加载热图(在分割不是针对每个用户的情况下)


存储此类热图的最佳方式是什么?

100000热图x 10000字节=1千兆字节。使用多维度来处理numpy没有什么大问题。使用h5数据库进行保存和加载。快速高效。HDF5可用于此目的。查看。您可以查看用于存储的TF记录格式。它们针对ML任务进行了高度优化。@Tarik热图的大小为1000 x 1000,而不是100 x 100,我在帖子中纠正了错误。您可能需要查看稀疏矩阵: