model_table#
- pymc_extras.printing.model_table(model: Model, *, split_groups: bool = True, truncate_deterministic: int | None = None, parameter_count: bool = True) Table [source]#
创建一个富文本表格,其中包含模型变量及其表达式的摘要。
- 参数:
model (Model) – 要总结的 PyMC 模型。
split_groups (bool) – 如果为 True,则每组变量(数据、free_RVs、确定性变量、势、observed_RVs)将由一个部分分隔。
truncate_deterministic (int | None) – 如果不为 None,则截断超出此长度的确定性变量的表达式。
empty_dims (bool) – 如果为 True,则将标量变量的维度显示为空列表。
parameter_count (bool) – 如果为 True,则添加一行,其中包含模型中参数的总数。
- 返回:
一个富文本表格,其中包含模型的变量、其表达式和维度。
- 返回类型:
Table
示例
import numpy as np import pymc as pm from pymc_extras.printing import model_table coords = {"subject": range(20), "param": ["a", "b"]} with pm.Model(coords=coords) as m: x = pm.Data("x", np.random.normal(size=(20, 2)), dims=("subject", "param")) y = pm.Data("y", np.random.normal(size=(20,)), dims="subject") beta = pm.Normal("beta", mu=0, sigma=1, dims="param") mu = pm.Deterministic("mu", pm.math.dot(x, beta), dims="subject") sigma = pm.HalfNormal("sigma", sigma=1) y_obs = pm.Normal("y_obs", mu=mu, sigma=sigma, observed=y, dims="subject") table = model_table(m) table # Displays the following table in an interactive environment ''' Variable Expression Dimensions ───────────────────────────────────────────────────── x = Data subject[20] × param[2] y = Data subject[20] beta ~ Normal(0, 1) param[2] sigma ~ HalfNormal(0, 1) Parameter count = 3 mu = f(beta) subject[20] y_obs ~ Normal(mu, sigma) subject[20] '''
输出可以在富文本控制台中显式呈现,或导出为文本、html 或 svg。
from rich.console import Console console = Console(record=True) console.print(table) text_export = console.export_text() html_export = console.export_html() svg_export = console.export_svg()