网站怎么做宣传,企业建站公司推荐,滑县做网站,php开源免费网站模板目录
示例1 矢量后增加元素
示例2 tensor维度增加1
示例3 另一种替代unsqueeze的方法 示例1 矢量后增加元素
使用torch.cat()函数
ptorch.Tensor([1,5,0])
ptorch.cat((p, torch.Tensor([4])), 0)
结果#xff1a; 这里#xff0c;cat的第一个输入变量用()包绕#xf…目录
示例1 矢量后增加元素
示例2 tensor维度增加1
示例3 另一种替代unsqueeze的方法 示例1 矢量后增加元素
使用torch.cat()函数
ptorch.Tensor([1,5,0])
ptorch.cat((p, torch.Tensor([4])), 0)
结果 这里cat的第一个输入变量用()包绕里面至少有两个tensor这两个tensor按照先后次序连接形成新的tensor作为返回值。cat的第二个变量表示连接的维度。在本例中维度0。0意味着新元素4将沿着1,5,0的方向连接下去。此时torch,Tensor([4])的size可以不等于p--p含有三个变量而torch,Tensor([4])显然只有一个变量。这是因为新元素在沿着1,5,0方向拓展。你也可以让维度-1效果与0相同。
示例2 tensor维度增加1
p的布局是1,5,0 现在想把p变为二维
1,5,0
4,4,4
下面的操作不合法 不合法的原因 可见p只是一个三元矢量没有其他的维度当然也就不能沿着新维度增加了。
想要给p增加维度首先做unsqeeze操作
p torch.unsqueeze(p, 0)原来p是沿着1,5,0 -----增加的这是p唯一的维度。unsqueeze之后[1,5,0]成为p的第一个元素下面可以再增加一个三元tensor接在[1,5,0]后面。 增加[4,4,4]注意这里加入的其实是[[4,4,4]] 可见添加成功。
在加入[4,4,4]之后[1,5,0]和[4,4,4]都变成了q的元素所以q的增长方向变成了向下
[1,5,0]
[4,4,4] | |
V
注意pytorch要求相连接的两个tensor维度数相同否则报错。所以增加的是[[4,4,4]]而不是[4,4,4]。但是仅仅是要求维度相同尺寸可以不同严格来说是增加方向的尺寸可以不同
如下图q已经是2行3列的tensor了但是还可给它添加1行3列的[4,4,4] 示例3 另一种替代unsqueeze的方法
pp[None,:]