Pytorch中 torch.cat与torch.stack 拼接函数

stack()
拼接函数,是拼接以后,再扩展一维。torch.stack()有两个参数,第一个是要拼接的张量的列表或是元组;第二个参数是拼接的维度。

cat()
拼接函数,将多个张量拼接成一个张量,保持维度不变。torch.cat()有两个参数,第一个是要拼接的张量的列表或是元组;第二个参数是拼接的维度。

torch.cat() 和 torch.stack()函数要求输入张量的大小完全相同,才能进行拼接

stack与cat的区别在于, 得到的张量的维度会比输入的张量的大小多1,并且多出的那个维度就是拼接的维度,那个维度的大小就是输入张量的个数。

A=torch.tensor([[1,2,3],[4,5,6],[7,8,9]],dtype=torch.float)
print("A:",A)
B=torch.tensor([[-1,-2,-3],[-4,-5,-6],[-7,-8,-9]],dtype=torch.float)
print("B:",B)
print("*********************************")

c=torch.cat((A,B),dim=0)#保持维度不变
print(c)
print(c.shape)

d=torch.stack((A,B),dim=0)#多扩展一维度
print(d)
print(d.shape)

Pytorch中 torch.cat与torch.stack 拼接函数_第1张图片

你可能感兴趣的:(Deep,Learning,pytorch,深度学习,python)