Pytorch 中的向量张量逐元素乘法
Vector-Tensor element-wise multiplication in Pytorch
我正在尝试从 Pytorch 中表示图像的张量中提取亮度,因此我需要按元素将大小为 3 的向量(对于三个 RGB 值权重)乘以表示图像的 3xNxN 张量这样我在最后得到一个 NxN 矩阵,其中张量的三个通道已与向量中给定的权重相加。
我想存在 Pytorch 操作可以帮助我在没有循环的情况下做到这一点,但我还没有找到它们。
您必须重塑 3
维 RGB 向量才能广播到 3xNxN
,如下所示:
rgb = rgb.reshape(-1, 1, 1)
所以它将具有 (3, 1, 1)
的形状
现在您可以将其与原始图像相乘并沿第一个维度求和:
result = torch.sum(rgb * image, dim=0)
我正在尝试从 Pytorch 中表示图像的张量中提取亮度,因此我需要按元素将大小为 3 的向量(对于三个 RGB 值权重)乘以表示图像的 3xNxN 张量这样我在最后得到一个 NxN 矩阵,其中张量的三个通道已与向量中给定的权重相加。
我想存在 Pytorch 操作可以帮助我在没有循环的情况下做到这一点,但我还没有找到它们。
您必须重塑 3
维 RGB 向量才能广播到 3xNxN
,如下所示:
rgb = rgb.reshape(-1, 1, 1)
所以它将具有 (3, 1, 1)
现在您可以将其与原始图像相乘并沿第一个维度求和:
result = torch.sum(rgb * image, dim=0)