参考这篇文章,结合我这里的代码补充一下文章链接
def gaussian(window_size, sigma):
###window_size = 11
gauss = torch.Tensor([exp(-(x - window_size//2)**2/float(2*sigma**2)) for x in range(window_size)])
print('gauss.size():', gauss.size())
### torch.Size([11])
return gauss/gauss.sum()
def create_window(window_size, channel):
_1D_window = gaussian(window_size, 1.5).unsqueeze(1)
print('_1D_window.size():', _1D_window.size())
### torch.Size([11, 1])
###unsqueeze(1)在维度1 增加一个维度
_2D_window = _1D_window.mm(_1D_window.t()).float().unsqueeze(0).unsqueeze(0)
print(_1D_window.mm(_1D_window.t