Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在计算后验概率时,使用参数(比如w_μ)和使用参数。数据(w_μ。数据)会有不同吗?_Python_Neural Network_Pytorch_Bayesian - Fatal编程技术网

Python 在计算后验概率时,使用参数(比如w_μ)和使用参数。数据(w_μ。数据)会有不同吗?

Python 在计算后验概率时,使用参数(比如w_μ)和使用参数。数据(w_μ。数据)会有不同吗?,python,neural-network,pytorch,bayesian,Python,Neural Network,Pytorch,Bayesian,我试图通过Backprop实现Bayes。在计算后验概率时,如果我使用参数作为输入,而使用参数数据作为输入,则结果精度会发生剧烈变化 self.w_post = Normal(self.w_mu.data, torch.log(1+torch.exp(self.w_rho))) self.b_post = Normal(self.b_mu.data, torch.log(1+torch.exp(self.b_rho))) self.log_post = self.w_po

我试图通过Backprop实现Bayes。在计算后验概率时,如果我使用参数作为输入,而使用参数数据作为输入,则结果精度会发生剧烈变化

    self.w_post = Normal(self.w_mu.data, torch.log(1+torch.exp(self.w_rho)))
    self.b_post = Normal(self.b_mu.data, torch.log(1+torch.exp(self.b_rho)))
    self.log_post = self.w_post.log_prob(self.w).sum() + self.b_post.log_prob(self.b).sum()
这是可行的,而下一个街区不行

    self.w_post = Normal(self.w_mu, torch.log(1+torch.exp(self.w_rho)))
    self.b_post = Normal(self.b_mu, torch.log(1+torch.exp(self.b_rho)))
    self.log_post = self.w_post.log_prob(self.w).sum() + self.b_post.log_prob(self.b).sum()
既然w_post和b_post不是参数,那么为什么这会影响我的答案呢。这段代码位于自定义线性层的正向函数中


而log_posterior的值在各个时代都没有变化。这和种子有关吗

我认为这两种解决方案都可以应用,而且它只会以某种方式改变种子。经过几次迭代,两个模型都收敛了