TypeError: mul (): l'argument 'autre' (position 1) doit être Tensor, pas lister la solution pour l'erreur

Lorsque j'ai exécuté le programme suivant, j'ai eu l'erreur suivante.

Déclaration d'exécution


seqlen = torch.tensor(10)
mask = [[1] * seqlen]

Déclaration d'erreur


TypeError:mul():argument 'other' (position 1) must be Tensor,not list

Cause

Erreur de la version Pytorch Il semble qu'il soit impossible de calculer torch.tensor et lister à partir de torch> 0.3.1.

Solution

  1. Abaissez la version de pytorch à "torch <= 0.31"
  2. Modifiez le programme comme suit

Changer avant


mask = [[1] * seqlen]

Après le changement


mask = [[1] * int(seqlen)]

Recommended Posts

TypeError: mul (): l'argument 'autre' (position 1) doit être Tensor, pas lister la solution pour l'erreur
Migration Python 3> TypeError: doit être un nombre réel, pas le support de la carte> changer map () en liste (map ())