Broadcasting

依旧是扩展功能,且不需要拷贝数据

过程:

  1. 先检查维度是否相同
  2. 从最小维度(最右面最小)开始匹配,在前面添加1维度
  3. 然后将维度为“1”的部分,扩展到对应维度相同大小

Pytorch的Tensor操作(2)

Pytorch的Tensor操作(2)

实际应用,对某个Tensor加一个标量,将标量自动匹配到目标张量的数据类型

Pytorch的Tensor操作(2)

适用情况:

(1): 某一维度相同,或为1

Pytorch的Tensor操作(2)

(2):某一部分维度相同

Pytorch的Tensor操作(2)

(3):不符合规则:只能为“1”或相同

Pytorch的Tensor操作(2)


拼接与拆分

Cat

dim决定在哪个维度进行合并

Pytorch的Tensor操作(2)

dim = 0

Pytorch的Tensor操作(2)

dim=1

除了会合并指定维度,其他维度必须严格一致

Pytorch的Tensor操作(2)

Pytorch的Tensor操作(2)

Stack

stack会在指定维度上创造出一个新维度

Pytorch的Tensor操作(2)

cat和stack的常见错误

Pytorch的Tensor操作(2)

Split

dim表示的是拆分的指定维度,前面可以是标量也可是列表,代表要拆分的具体大小或平均大小。

Pytorch的Tensor操作(2)

Chunk

chunk表示要拆分的具体个数

Pytorch的Tensor操作(2)

 

 

相关文章: