我是Python的初学者,但我正处于一个项目的最后阶段,我在过去一年中一直在工作,我需要在最后一步的帮助。
如果需要,我会发布我的代码,尽管它并不是真的相关。
这就是我的问题:
我有一个图像数据库,比如说100张图像。在这些图像中的每一个上,我都运行了一个称为ICA的算法。这个算法计算起来非常繁重,而且每张图片通常需要7-10秒,所以100张图片可能需要700-1000秒,而等待的时间太长了。
问题是,我的图片数据库永远不会变。我从不添加图片或删除图片,因此ICA算法的输出总是相同的。因此,在现实中,每次我运行我的代码,我都会永远等待,每次都会得到相同的输出。
有没有办法把数据保存到硬盘上,以后再解压缩?
比方说,我计算了100幅图像的ICA,它永远需要花费时间,然后我保存它并关闭我的计算机。现在,当我运行程序时,我不想让它重新计算ICA,我想让它使用我之前存储的值。
这样的事情在Python中是可能的吗?如果是这样--如何实现?
发布于 2015-07-27 03:16:45
由于您运行的是计算量很大的算法,因此我将假定您使用的是Numpy。如果不是,你就是should be。
Numpy有一个numpy.save()函数,可以让你以二进制格式保存数组。然后,您可以使用numpy.load()加载它们。
编辑:上述功能的文档可以在"NPZ文件“部分下找到here。
https://stackoverflow.com/questions/31640874
复制相似问题