pymc.KLqp.fit#

KLqp.fit(n=10000, score=None, callbacks=None, progressbar=True, **kwargs)#

执行算子变分推断

参数:
nint

迭代次数

分数 : 布尔值布尔

是否在每次迭代时评估损失

callbackslist[function: (Approximation, losses, i) -> None]

在每次迭代步骤后调用提供的函数

progressbar : 布尔值布尔

是否显示进度条

返回:
近似
其他参数:
obj_n_mc: int

用于近似目标梯度的蒙特卡洛样本数量

tf_n_mc: `int`

用于近似测试函数梯度的蒙特卡洛样本数量

obj_optimizer: function (grads, params) -> updates

用于目标参数的优化器

test_optimizer: 函数 (grads, params) -> updates

用于测试函数参数的优化器

more_obj_params: `list`

为目标优化器添加自定义参数

more_tf_params: `list`

为测试函数优化器添加自定义参数

more_updates: `dict`

添加自定义更新到最终更新

total_grad_norm_constraint: `float`

边界梯度范数,防止梯度爆炸问题

fn_kwargs: `dict`

将 kwargs 添加到 pytensor.function (例如 {‘profile’: True})。

more_replacements: `dict`

在计算梯度之前应用自定义替换