主持人采样器方便层
uhammer的Python项目详细描述
uhammer为emcee提供了一个便利层。
功能:uhammer
- 提供简化的API。
- 在多核上运行或使用mpi运行之间不需要代码更改。
- 修复了emcee/schwimmbad中mpi池的一些问题。
- 当分配的节点/核心不适合指定时打印诊断消息 步行机或其他并行化相关设置的数目。
- 可以将工作机特定的输出捕获到单独的文件。
- 实现采样器状态的持久化,并支持以后继续采样。
- 可以显示动画进度条。
示例用法
要使用uhammer,您需要:
- 用于声明 要从中采样的参数。
- 一个名为lnprob的函数,它接受一个parameters对象并可能 额外的论点。此函数返回计算的 后验概率。
- 最后,调用sample运行采样器。
importtimeimportnumpyasnpfromuhammerimportParameters,samplesigma=.5defgen_data():a0=.5b0=.5c0=1x=np.linspace(-2,2,100)y_measured=a0+b0*x+c0*x**2+sigma*np.random.randn(*x.shape)returnx,y_measuredp=Parameters()p.add("a",(0,1))p.add("b",(0,1))p.add("c",(0,2))deflnprob(p,x,y_measured):time.sleep(.0002)y=p.a+p.b*x+p.c*x**2diff=(y-y_measured)/sigmareturn-np.dot(diff.T,diff)/2n_samples=15000n_walkers_per_param=200samples,lnprobs=sample(lnprob,p,args=gen_data(),n_walkers_per_param=n_walkers_per_param,n_samples=n_samples,show_progress=True,show_output=False,)print()print(samples[5000:].mean(axis=0))
$ python examples/sample_line_fit.py uhammer: perform 25 steps of emcee sampler ✗ passed: 00:00:11.2 left: 00:00:00.0 - [∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣] [0.52389808 0.53415134 1.01585175]
0.4.0(2019-07-03)
- 忽略参数的起始值。没有很好地使用emcee算法。
0.3.2(2019-05-24)
- 关于欧拉的报告少了些闲聊,也简单了些。现有进度条 弄乱了lsf输出文件。现在我们以最小时间间隔报告 至少30秒。
0.3.1(2019-05-22)
- 已从安装依赖项中删除mpipool,否则安装始终需要 一个有效的MPI设置。在并行MPI模式下运行时,仍然需要mpirpol。
0.3.0(2019-05-22)
- 样本函数现在返回两个数组:样本和相关的对数概率
- 参数。add现在有一个可选参数用于提供起始值。
- 加载样本函数允许从保存的采样器文件中提取样本。
- 将捕获输出和继续采样的参数替换为两个 参数show_output和output_prefix。
- 修正了在continue_sampling函数中输出记录的错误。
- 使用mpipoollibrary now+added test对基于mpi的并行采样进行测试。
0.2.13(2019-05-15)
- 修复并行模式下的持久pickler错误
0.2.12(2019-05-02)
- MPI的小调整
- 修正了emcee 3 dev版本
0.2.11(2019-04-30)
- 关闭MPI池以防工作进程抛出异常,然后 此修复程序mpirun将挂起。
- 修复了使用mpi运行时捕获输出文件名的处理问题
0.2.10(2019-04-19)
- 修复删除标记文件时的竞争条件
- 停用有关丢失MPI4PY的不必要警告
0.2.9(2019-04-16)
- 在Euler节点上运行时不显示ProgressBar
- 适用于Python3.7
0.2.8(2019-04-12)
- 修复以使用Emcee 3的开发版本
0.2.7(2019-03-20)
- 解决并行模式下电容输出的问题
- 出现未处理的异常时停止进度条
0.2.6(2019-03-20)
- 修复setup.py中python 3.7的依赖关系
0.2.5(2019-03-20)
- 修复requirements\dev.txt中的包查找
- 修正输出重定向失败时错误处理的错误。
0.2.4(2018-10-29)
- 固定采样器输出行的顺序。
0.2.3(2018-10-24)
- 检查omp_num_线程以警告可能的超额订阅。
- 更好的后功能酸洗支持。
0.2.2(2018-10-11)
- 如果Uhammer在Euler上的全节点上运行,则修复检测。
- 如果无法直接写入fid 1,则不显示状态栏。
- 抑制来自MPI的一些不适当的错误消息,即使 Uhammer不使用mpirun运行。
- 固定IP检查以检测Uhammer是否在Euler上运行。
0.2.1(2018-09-28)
- 由于Python2支持的实现而导致的回归修复。
0.2.0(2018-09-28)
- 引入了Python2支持。
0.1.0(2018-08-23)
- 初始版本。