保存和加载python内存的功能?
我在
python中编写了一个程序,需要几个小时来计算.我现在希望程序不时保存所有内存(主要是numpy-arrays).这样我就可以从最后一次保存发生的那一刻开始重新计算.我不是在寻找像’numpy.save(file,arr)’这样的东西,而是一种一次性保存所有内存的方法……
亲切的问候, 解决方法
我同意@phyrox,可以使用dill将活动对象保存到磁盘,以便以后重新启动. dill可以使用dump()序列化numpy数组,并使用dump_session()整个解释器会话.
但是,听起来你真的在问某种形式的缓存…所以我不得不说@Alfe的评论可能更接近你想要的.如果你想要无缝缓存和存档数组到内存…那么你想要joblib或klepto. klepto构建在dill之上,可以将函数输入和输出缓存到内存中(这样计算不需要运行两次),并且它可以将缓存中的对象无缝地保存到磁盘或数据库中. github上的版本是你想要的. https://github.com/uqfoundation/klepto或https://github.com/joblib/joblib. Klepto更新,但拥有比joblib更广泛的缓存和归档解决方案. Joblib已经在生产中使用更长时间,因此它经过了更好的测试 – 特别是对于并行计算. 以下是典型的klepto工作流程示例:https://github.com/uqfoundation/klepto/blob/master/tests/test_workflow.py 这是另一个有一些numpy: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |