1. view()
g_x = self.g(x).view(batch_size, self.inter_channels, -1)
??view()是做維度調(diào)整, 就是按照參數(shù)表里的數(shù)字重新調(diào)整tensor的各維度上的大小, 最后那個(gè)-1的意思是把剩下的維度全都合并歸到最后的一維
??比如示例中的g(x)算完之后是[128, 16, 7, 7] : (b, c, h, w), 示例中做的是把它變成[128, 16, 49], 就是把h和w兩個(gè)維度合成一個(gè)
2. permute()
?? permute()是對(duì)tensor的維度順序進(jìn)行調(diào)整, 作用跟transpose()很像, 但是permute()是針對(duì)tensor做的, 所以是tensor.permute(), 而transpose是numpy庫(kù)里的, 所以是numpy.transpose(), 用法上差不多, 比如
#permute [b, c, hw] -> [b, hw, c]
g_x = g_x.permute(0, 2, 1)
#transpose [h, w, c] -> [c, h, w]
image_numpy = np.transpose(image_numpy, (1, 2, 0))