PyMC在采样后改变后端

时间:2014-02-17 19:45:22

标签: serialization pymc

我一直在使用PyMC来分析一些高能物理数据。它已经完美,分析已经完成,我们正在撰写论文。

然而,我有一个小问题。我使用RAM数据库后端运行了采样器。这些痕迹已经存在于IPython内核进程的内存中几个月了。问题是工作站支持人员想要执行内核升级并重新启动该工作站。这会让我失去踪迹。我想保留这些痕迹(而不仅仅是生成新的),因为它们是我制作的所有情节。我还希望在出版物中加入一部分痕迹(只有感兴趣的参数)作为补充材料。

是否可以在使用pymc.MCMC后端创建的RAM对象中获取现有链,更改为不同的后端,并写出链中的跟踪?

1 个答案:

答案 0 :(得分:1)

跟踪值存储为NumPy数组,因此您可以使用numpy.savetxt将每个参数的值发送到文件。 (这就是文本后端的内幕。)

虽然保存当前的痕迹是个好主意,但我建议您在发布前花些时间让分析重复。