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 ...
1 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])
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.