考虑 Y = X@W + b 的例子,偏置 b 插入样本数的新维度后,需要在新维度上复制 Batch Size 份数据,将 shape 变为与 X@W 一致后,才能完成张量相加运算。...,「其中 *sizes 分别指定了每个维度上复制的倍数,对于不需要(或非单维度)进行复制的维度,对应位置上可以写上原始维度的大小或者直接写 -1。」...“将张量中大小为 1 的维度称为单维度。比如形状为 [2, 3] 的张量就没有单维度,形状为 [1, 3] 中第 0 个维度上的大小为 1,因此第 0 个维度为张量的单维度。”...(B.size())
# torch.Size([1, 3])
print(B)
# tensor([[1, 2, 3]])
在批量维度上复制数据 1 份,实现如下:
# -1意味着不改变对应维度的大小...B = B.expand([2, -1])
print(B)
# tensor([[1, 2, 3],
# [1, 2, 3]])
此时 B 的shape 变为 2,3,可以直接与