def odd_to_even(self, odd_input = None):
even_p_output= []
even_output= []
for i in range(self.n_even_layers):
if i == 0:
even_p_output.append(torch.sigmoid(F.linear(odd_input[i],self.W[2*i].t(),self.bias[2*i])))
elif (self.n_even_layers > self.n_odd_layers) and i == self.n_even_layers - 1:
even_p_output.append(torch.sigmoid(F.linear(odd_input[i-1],self.W[2*i-1],self.bias[2*i])))
else:
even_p_output.append(torch.sigmoid(F.linear(odd_input[i-1],self.W[2*i-1],self.bias[2*i]) + F.linear(odd_input[i],self.W[2*i].t())))
for i in even_p_output:
even_output.append(torch.bernoulli(i))
return even_p_output, even_output
model_DBM.py 文件源码
python
阅读 22
收藏 0
点赞 0
评论 0
评论列表
文章目录