跳转到主要内容

CmdStan的Python接口

项目描述

CmdStanPy

codecov

CmdStanPy是一个轻量级的纯Python接口,用于CmdStan,它提供了访问Stan编译器和所有推理算法的接口。它支持开发和生产工作流程。由于模型开发和测试可能需要多次迭代,默认设置优先考虑开发模式,因此输出文件存储在临时文件系统上。非默认选项允许指定运行的各个方面,以便可以使用脚本在节点和机器之间分布式分析作业。

CmdStanPy通过PyPi分发:https://pypi.ac.cn/project/cmdstanpy/

或 Conda Forge: https://anaconda.org/conda-forge/cmdstanpy

目标

  • 为Stan服务提供干净的接口,以便CmdStanPy能够与Stan版本保持同步。

  • 提供对所有CmdStan推理方法的访问。

  • 易于安装,

    • 最小的Python库依赖:numpy,pandas
    • Python代码不直接与C++接口,仅调用编译后的可执行文件
  • 模块化 - CmdStanPy从后验分布生成MCMC样本(或点估计);其他包进行分析和可视化。

  • 内存开销低 - 默认情况下,使用的内存量仅比CmdStanPy所需的内存量多;对象运行CmdStan程序并跟踪CmdStan输入和输出文件。

源代码库

CmdStanPy和CmdStan可在GitHub上获取: https://github.com/stan-dev/cmdstanpyhttps://github.com/stan-dev/cmdstan

文档

最新发布版本的文档托管在 https://mc-stan.org/cmdstanpy,较旧版本可在readthedocs上获取: https://cmdstanpy.readthedocs.io

许可

CmdStanPy、CmdStan和核心Stan C++代码均采用新的BSD许可。

示例

import os
from cmdstanpy import cmdstan_path, CmdStanModel

# specify locations of Stan program file and data
stan_file = os.path.join(cmdstan_path(), 'examples', 'bernoulli', 'bernoulli.stan')
data_file = os.path.join(cmdstan_path(), 'examples', 'bernoulli', 'bernoulli.data.json')

# instantiate a model; compiles the Stan program by default
model = CmdStanModel(stan_file=stan_file)

# obtain a posterior sample from the model conditioned on the data
fit = model.sample(chains=4, data=data_file)

# summarize the results (wraps CmdStan `bin/stansummary`):
fit.summary()

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

cmdstanpy-1.2.4.tar.gz (114.1 kB 查看哈希值)

上传时间

构建分发

cmdstanpy-1.2.4-py3-none-any.whl (94.5 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面