Open CHH3213 opened 2 years ago
用来使数组A指定位置N的维度减1,最外层表示位置0,如果不指定位置参数N,则所有维度为1的减少。
用来使数组A指定位置N的维度加1,必须指定参数,最外层表示位置0。N=0,代表最外层增加一维。N+1表示往里一层增加一维,以此类推。
无论是python的还是pytorch的,原理都是这样。
举例1
a = torch.tensor([[3,7],[2,5],[6,8]]) print(np.shape(a)) a = torch.unsqueeze(a,0) print(np.shape(a)) a = torch.squeeze(a,0) print(np.shape(a))
输出依次为:
torch.Size([3, 2]) torch.Size([1, 3, 2]) torch.Size([3, 2])
举例2
a = torch.tensor([[3],[2],[6]]) # print(a) print(np.shape(a)) a = torch.unsqueeze(a,0) print(np.shape(a)) # print(a) a = torch.squeeze(a) print(np.shape(a)) # print(a)
torch.Size([3, 1]) torch.Size([1, 3, 1]) torch.Size([3])
squeeze(A,N)函数
用来使数组A指定位置N的维度减1,最外层表示位置0,如果不指定位置参数N,则所有维度为1的减少。
unsqueeze(A,N)函数
用来使数组A指定位置N的维度加1,必须指定参数,最外层表示位置0。N=0,代表最外层增加一维。N+1表示往里一层增加一维,以此类推。
无论是python的还是pytorch的,原理都是这样。
举例1
输出依次为:
举例2
输出依次为: