def propup(self, vis):
"""
This function propagates the visible units activation upwards to the hidden units
Eq.(7)
:param vis: Variable Matrix(batch_size, in_channels, image_height, image_width)
- given v_sample
:return: Variable Matrix(batch_size, out_channels, image_height_out, image_width_out)
- probability for each hidden units to be h_i=1
"""
# conv.W: Matrix(out_channels, in_channels, filter height=ksize, filter width=ksize)
# conv.b: Vec (out_channels, )
if self.real == 0:
pre_sigmoid_activation = self.conv(vis)
else:
pre_sigmoid_activation = self.conv(vis / self.std_ch)
# F.matmul(vis, self.conv.W, transb=True) + F.broadcast_to(self.conv.b, (vis.data.shape[0], self.n_hidden))
return F.sigmoid(pre_sigmoid_activation)
评论列表
文章目录