Pytorch: donner une entrée 3d à Conv2d donne un mauvais message d'erreur

Créé le 21 mai 2017  ·  3Commentaires  ·  Source: pytorch/pytorch

import torch
import torch.nn as nn
from torch.autograd import Variable

m = Variable(torch.randn(3, 10, 20))
nn.Conv2d(in_channels=3, out_channels=8, kernel_size=3)(m)
Traceback (most recent call last):
  File "too.py", line 6, in <module>
    nn.Conv2d(in_channels=3, out_channels=8, kernel_size=3)(m)
  File "/home/soumith/code/pytorch/torch/nn/modules/module.py", line 206, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/soumith/code/pytorch/torch/nn/modules/conv.py", line 237, in forward
    self.padding, self.dilation, self.groups)
  File "/home/soumith/code/pytorch/torch/nn/functional.py", line 43, in conv2d
    return f(input, weight, bias)
RuntimeError: expected 3D tensor
medium priority (this tag is deprecated)

Commentaire le plus utile

Oui! très heureux avec cela. envoyer un RP :)

Tous les 3 commentaires

vient de rencontrer un problème similaire en utilisant des données avec forme (taille_lot, taille, poids), ajouté 1 dimension à la position 1 et problème trié. PS. J'utilise in_channels = 1.

L'erreur se produit car l'appel à view4d dans torch/csrc/autograd/functions/convolution.cpp s'attend à ce que le tenseur de poids soit également 3D.

Cependant, l'entrée (3D) sera convertie en un tenseur 4D de forme (3, 10, 1, 20), même si nous n'essayons pas de desserrer le tenseur de poids, les tailles seront incompatibles.

Peut-être devrions-nous ajouter une vérification au niveau Python (dans nn.functional.conv2d ) pour lever if input.dim() != 4 ?

@soumith si vous êtes satisfait de cela, je peux envoyer un PR

Oui! très heureux avec cela. envoyer un RP :)

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

rajarshd picture rajarshd  ·  3Commentaires

eliabruni picture eliabruni  ·  3Commentaires

mishraswapnil picture mishraswapnil  ·  3Commentaires

SeparateReality picture SeparateReality  ·  3Commentaires

bartolsthoorn picture bartolsthoorn  ·  3Commentaires