使用get_chain()方法访问从emcee生成的值时遇到问题。我的代码如下:
import numpy as np
import emcee
def log_prob(x): return -np.sum(x**2)
p0 = np.array(np.random.randn(12, 1))
sampler = emcee.EnsembleSampler(12, 1, log_prob)
sampler.run_mcmc(p0, 1000)
samples = sampler.get_chain()
当我运行这个程序时,会收到消息AttributeError: 'EnsembleSampler' object has no attribute 'get_chain'
,我不知道为什么。
我在网上的某个地方读到get_chain()方法只是在较新版本的emcee中添加的,需要从GitHub下载。如果这是一个问题,我将如何从GitHub下载它并确保它仍然与Anaconda一起工作(我是Python/GitHub新手,我不太熟悉如何完成)
任何帮助都将不胜感激!谢谢
正如您所怀疑的,这可能是由于安装了旧版本的主持人。您可以检查安装的版本
emcee
3在相当长的一段时间内只是一个候选版本(而不是正式版本),因此您阅读的博客文章给出了建议。它已经发布了,然而,这篇文章可能至少有将近一年的历史了。您应该能够更新到最新的主持人,并通过pip
解决您的问题或者使用
conda
(看起来像您正在使用的)请参阅有关主持人在其conda forge page上安装conda的更多详细信息
相关问题 更多 >
编程相关推荐