主持人 EnsembleSampler 对象没有属性 get_chain
emcee EnsembleSampler object has no attribute get_chain
我无法访问主持人使用 get_chain() 方法生成的值。我的代码如下:
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() 方法只是在较新版本的司仪中添加的,需要从 GitHub 下载。如果这是问题所在,我如何从 GitHub 下载它并确保它仍然适用于 Anaconda(我是 Python/GitHub 的新手,我不太熟悉如何完成) ?
如有任何帮助,我们将不胜感激!谢谢!
如您所料,这可能是因为安装了旧版本的司仪。您可以检查安装的版本
emcee.__version__
emcee
3 很长一段时间都只是候选版本(而不是正式版本),因此您阅读了博客 post 中的建议。它已经发布了,但是 post 可能至少有将近一年的历史了。您应该能够更新到最新的司仪并使用 pip
解决您的问题
pip install -U emcee
或使用 conda
(看起来像您正在使用的)。
conda install -c conda-forge emcee
上查看有关使用 conda 安装主持人的更多详细信息
我无法访问主持人使用 get_chain() 方法生成的值。我的代码如下:
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() 方法只是在较新版本的司仪中添加的,需要从 GitHub 下载。如果这是问题所在,我如何从 GitHub 下载它并确保它仍然适用于 Anaconda(我是 Python/GitHub 的新手,我不太熟悉如何完成) ?
如有任何帮助,我们将不胜感激!谢谢!
如您所料,这可能是因为安装了旧版本的司仪。您可以检查安装的版本
emcee.__version__
emcee
3 很长一段时间都只是候选版本(而不是正式版本),因此您阅读了博客 post 中的建议。它已经发布了,但是 post 可能至少有将近一年的历史了。您应该能够更新到最新的司仪并使用 pip
pip install -U emcee
或使用 conda
(看起来像您正在使用的)。
conda install -c conda-forge emcee
上查看有关使用 conda 安装主持人的更多详细信息