1:Broadcasting维度的自动扩张
特点:能够进行维度的自动扩张,而又不复制数据。
使用例如下图:
例如上图:A 形状为[4,32,14,14]的tensor与B 形状为[32]的tensor相加,首先需要右对齐,由于右对齐32与A最右边的
的14不匹配,故需要先手动添加两个维度生成B [32,1,1],然后使用broadcasting进行自动扩张成[4,32,14,14]。
【注】broadcasting可以使用的情况:只有维度为1的能与不相等的维度对齐。例如:1能与32对齐,3不能。
2:cat(list,d)/stack(list,d)拼接
(1)cat(list,d)参数list为需要拼接的tensor,参数d为需要拼接的索引维度。
【注】需要拼接的索引维度的大小可以不同,其它必须相同。
(2)stack(list,d)拼接:执行了两步:1:添加一个大小为1的维度 2:对添加的维度进行拼接
参数list为需要拼接的tensor,参数d为需要插入的维度也即是需要拼接的索引维度.
【注】原来维度的大小必须相同。
3:split(list,d)或者 split(int,d)拆分:参数list为要拆分索引维度的拆分的长度列表,d为要拆分的索引维度;int 为要拆分成等长的长度,d为要拆分的维度。
Chunk(int,d)拆分:参数int为拆分的数量,d是需要拆分的索引维度
【注】两者一个是按照长度进行拆分,一个是按照数量进行拆分。