深圳企业网站建设推广服务,移动互联网开发课程,网站源码上传服务器了怎么做,设计师网络设计平台Pytorch#xff1a;cat、stack、squeeze、unsqueeze的用法
torch.cat
在指定原有维度上链接传入的张量#xff0c;所有传入的张量都必须是相同形状 torch.cat(tensors, dim0, *, outNone) → Tensor tensor:相同形状的tensor dim:链接张量的维度#xff0c;不能超过传入张…Pytorchcat、stack、squeeze、unsqueeze的用法
torch.cat
在指定原有维度上链接传入的张量所有传入的张量都必须是相同形状 torch.cat(tensors, dim0, *, outNone) → Tensor tensor:相同形状的tensor dim:链接张量的维度不能超过传入张量的维度 x torch.tensor([[0, 1, 2]], dtype torch.float)
y torch.tensor([[3, 4, 5]], dtype torch.int)
print(x.shape, y.shape)
print(-*50)
z torch.cat((x, y), dim 0)
print(z)
print(z.shape)
print(-*50)
z torch.cat((x, y), dim 1)
print(z)
print(z.shape) torch.stack
在一个新的维度上链接张量输入张量都必须是相同形状的 torch.stack(tensors, dim0, *, outNone) → Tensor tensor:相同形状的张量 dim:插入的张量维度在0和输出张量维度(比输入张量维度多一个)之间 x torch.tensor([[0, 1, 2]])
y torch.tensor([[3, 4, 5]])
print(x.shape, y.shape)
print(-*50)
z torch.stack((x, y), dim 0)
print(z)
print(z.shape)
print(-*50)
z torch.stack((x, y), dim 1)
print(z)
print(z.shape)
print(-*50)
z torch.stack((x, y), dim 2)
print(z)
print(z.shape)torch.squeeze
压缩张量去掉输入张量中大小为1的维度例如(Ax1xBxCx1)-(AxBxC) torch.squeeze(input, dimNone) → Tensor input (Tensor):输入张量 dim (int or tuple of ints, optional):只压缩某个维度可以不指定就是压缩所有大小为1的维度 x torch.tensor([[0, 1, 2]])
y torch.rand(size (1, 2, 1, 2, 1))
print(x.shape, y.shape)
print(-*50)
z torch.squeeze(x)
print(z)
print(z.shape)
print(-*50)
z torch.squeeze(y)
print(z)
print(z.shape)torch.unsqueeze
在输入张量中指定位置插入一个大小为1的维度 torch.unsqueeze(input, dim) → Tensor input (Tensor):输入张量 dim (int):插入维度的指定位置 x torch.randn(size (2,3))
print(x.shape)
print(-*50)
z torch.unsqueeze(x, 0)
print(z)
print(z.shape)
print(-*50)
z torch.unsqueeze(x, 1)
print(z)
print(z.shape)