学习
通俗易懂理解函数的用法以及执行的机理
一、chunk()
其中chunk(a,b) 有两个参数输入,分别为a,与b
a代表要分的块数
b = 0时是横向分割
b = 1时是纵向分割
(我个人记不住上述这个,老记混)
b=0时,是对第一维分割
(例:2x2 使用chunk(2,0)——>1x2,1x2)
b = 1 时,是对第二维分割
(例:例:2x2 使用chunk(2,1)——>2x1,2x1)
import torch
a = torch.randn(2,2)
b,c = a.chunk(2,1)
print(b)
print(b.shape)
print(c)
print(c.shape)
结果为
在分割的维度上一定要是块数的倍数:
否则会报错:
二、squeeze()与unsqueeze()
squeeze()用来降维
unsqueeze()用来升维
a = torch.randn(2,3)
b = a.unsqueeze(2).unsqueeze(3) #在第二维增加一维,在第三维增加一维
输入参数是增加或者删减维度的索引号