我在使用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下载它并确保它仍然可以与蟒蛇一起使用(我是Python/GitHub的新手,我不太熟悉如何做到这一点)?
任何帮助都将不胜感激!谢谢!
发布于 2020-07-03 00:57:31
正如您所怀疑的,这可能是由于安装了旧版本的emcee。您可以使用检查安装的版本
emcee.__version__在相当长的一段时间里,emcee 3只是一个候选版本(而不是官方版本),因此你可以从你读到的博客文章中得到建议。虽然它已经发布了,但这篇文章可能至少有一年的历史了。您应该能够更新到最新的emcee并使用pip修复问题
pip install -U emcee或者使用conda (它看起来就像您正在使用的)。
conda install -c conda-forge emcee在其conda forge page上查看有关使用conda安装emcee的更多详细信息
https://stackoverflow.com/questions/62647778
复制相似问题