Python--Python中的.view()方法

我的问题,实例

例如1:

out = out.view(4, -1)

这个方法是对已知的进行reshape
中间有参数-1,这表明对out进行reshape,reshape成4行,列数由行数决定

例如2:

batchsize, channels, height, width = x.data.size()  
channels_per_group = int(channels / self.groups)  # 每组几个通道
x = x.view(batchsize, self.groups, channels_per_group, height, width)  # reshape
x = x.view(batchsize, -1, height, width) 

用x.data.size() 得到X的四个维度,然后第二行求出来第三行需要的一个参数,第三行的view第0,3,4都是x.data.size() 得到的,没有发生变化,因此view方法很聪明就将channels进行reshape。
第四行相当于逆操作,其他三维都不变化,因此把中间的第1,2维reshape为一个向量

你可能感兴趣的:(python,python,开发语言,后端)