torch.stack()可以通过torch.cat()表达,即
torch.stack(tensors, dim)
等价于
torch.cat([tensor.unsqueeze(dim) for tensor in tensors ], dim)
所以,若能理解torch.cat()函数,即可理解torch.stack()
1、torch.cat(tensors, dim)
参数:
tensors:需要合并的张量集合
dim:需要合并的维度
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47a = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) b = torch.tensor([[11, 12, 13], [14, 15, 16], [17, 18, 19]]) """ a = tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) b = tensor([[11, 12, 13], [14, 15, 16], [17, 18, 19]]) """ tensor.cat([a,b], 0) """ 张量a的第0维的元素有3个,分别为[1, 2, 3], [4, 5, 6], [7, 8, 9] 张量b的第0维的元素有3个,分别为[11, 12, 13], [14, 15, 16], [17, 18, 19] 根据第0维合并,即 将如上6个元素按顺序合并为: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [11, 12, 13], [14, 15, 16], [17, 18, 19]] """ tensor.cat([a,b], 1) """ 张量a的第0维的元素中,第一个元素的第0维(此处的“第0维度”)的元素有3个,分别是1, 2, 3 张量b的第0维的元素中,第一个元素的第1维的元素有3个,分别是1, 2, 3 """
最后
以上就是明理小蝴蝶最近收集整理的关于torch.stack()和torch.cat()的区别1、torch.cat(tensors, dim)的全部内容,更多相关torch.stack()和torch.cat()的区别1、torch.cat(tensors,内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复