张量流概率中的可训练先验

问题描述

认的 Conv2DFlipout 图层如下所示

tfp.layers.Convolution2DFlipout(
    filters,kernel_size,strides=(1,1),padding='valid',data_format='channels_last',dilation_rate=(1,activation=None,activity_regularizer=None,kernel_posterior_fn=tfp_layers_util.default_mean_field_normal_fn(),kernel_posterior_tensor_fn=(lambda d: d.sample()),kernel_prior_fn=tfp.layers.default_multivariate_normal_fn,kernel_divergence_fn=(lambda q,p,ignore: kl_lib.kl_divergence(q,p)),bias_pos
    terior_fn=tfp_layers_util.default_mean_field_normal_fn(is_singular=True),bias_posterior_tensor_fn=(lambda d: d.sample()),bias_prior_fn=None,bias_divergence_fn=(lambda q,seed=None,**kwargs
)

有人可以告诉我如何在训练中使用内核和偏差先验。同样认的 multivariate_normal_fn 看起来像这样,

tfp.layers.default_multivariate_normal_fn(dtype,shape,name,trainable,add_variable_fn)

它具有可训练的布尔参数之一,如果我将其设置为 True,则会引发以下错误

tfp.layers.Convolution2DFlipout(
    kernel_prior_fn = tfp_layers_util.default_multivariate_normal_fn(trainable=True)
)


TypeError: default_multivariate_normal_fn() missing 4 required positional arguments: 'dtype','shape','name',and 'add_variable_fn'

有人可以帮我解决问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)