J'ai deux tenseurs de forme [B, 3, 240, 320] où B représente la taille du lot 3 représente les canaux, 240 la hauteur (H), 320 la largeur (W). J'ai besoin de trouver le produit scalaire le long des canaux ...

0
goaroundmsp 17 mars 2021 à 00:16

1 réponse

Meilleure réponse

Le produit scalaire est la somme de la multiplication des valeurs dans deux vecteurs:

Donc, je suppose que vous voulez multiplier toutes les valeurs le long de la dimension du canal et que vous devez trouver la somme du résultat, veuillez me corriger si ma compréhension est erronée.

import torch

t1 = torch.rand(10, 3, 240, 320)
t2 = torch.rand(10, 3, 240, 320)

# Multiply two tensors and sum along the channel dimension
multp  = t1 * t2 
summed = multp.sum(dim = 1, keepdim = True)

print(summed.shape)  # torch.Size([10, 1, 240, 320])    
0
yutasrobot 17 mars 2021 à 00:02