pymc.SymbolicRandomVariable#
- class pymc.SymbolicRandomVariable(*args, ndim_supp, **kwargs)[源代码]#
符号随机变量
这是 OpFromGraph 的一个子类,用于封装基于纯 RandomVariable 构建的复杂分布的符号随机图。
这些图表的结构可能会根据输入(例如,它们的维度)而有所不同,并且通常要求随机输入具有特定的形状以获得正确的输出(例如,避免随机输入的广播)。因此,大多数返回 SymbolicRandomVariable 的分布会在运行时通过类方法 cls.rv_op 创建这些图表,并在需要时注意克隆和调整随机输入的大小。
方法
SymbolicRandomVariable.L_op
(inputs, outputs, ...)为 L-算子构建一个图。
SymbolicRandomVariable.R_op
(inputs, eval_points)为 R-operator 构建一个图。
SymbolicRandomVariable.__init__
(*args, ...)初始化一个 SymbolicRandomVariable 类。
为节点或变量添加 tag.trace。
克隆 Op 及其内部图。
返回由输入和输出定义的子图的连接模式。
确定是否应为给定节点执行常量折叠。
尝试在
Op.params_type
设置为 ParamsType 时获取 Op 的参数。SymbolicRandomVariable.grad
(inputs, output_grads)为每个输入变量构建梯度的图。
SymbolicRandomVariable.infer_shape
(fgraph, ...)SymbolicRandomVariable.make_node
(*inputs)构建一个 Apply 节点,表示将此操作应用于给定的输入。
SymbolicRandomVariable.make_py_thunk
(node, ...)生成一个 Python thunk。
SymbolicRandomVariable.make_thunk
(node, ...)创建一个 thunk。
SymbolicRandomVariable.perform
(node, inputs, ...)计算输入上的函数并将变量放入输出存储中。
SymbolicRandomVariable.prepare_node
(node, ...)在对
Op.make_thunk()
进行操作之前,进行 Op 所需的任何特殊修改。设置渐变覆盖。
设置 L_op 覆盖 这将完全移除任何先前设置的 L_op/梯度覆盖
设置 R_op 覆盖 这将完全移除任何之前设置的 R_op 覆盖
输入随机状态变量的符号更新表达式
属性
LOP_TYPE_ERR_MSG
OV_INP_LEN_ERR_MSG
STYPE_ERR_MSG
TYPE_ERR_MSG
default_output
一个
int
,指定Op.__call__()
应该返回哪个输出。destroy_map
一个
dict
,它将输出索引映射到它们就地操作的输入索引。fn
惰性编译内部函数图。
inline_logprob
指定是否通过内图的自省自动推导出logprob函数。
inner_inputs
内部函数的输入。
inner_outputs
内部函数的输出。
itypes
ndim_supp
支持的维度数量,如在 RandomVariables 中(0 表示标量,1 表示向量,...)
otypes
params_type
view_map
一个
dict
,它将输出索引映射到它们所视图的输入索引。fgraph
内部函数的 FunctionGraph。