pytorch, AttributeError: module 'torche' a pas d'attribut "Tenseur'
Je travaille avec Python 3.5.1 sur un ordinateur ayant CentOS Linux 7.3.1611 (Core) du système d'exploitation.
Je suis en train d'utiliser PyTorch et je suis arriver a commencé avec ce tutoriel.
Malheureusement, le n ° 4 de la ligne de l'exemple crée des ennuis:
>>> torch.Tensor(5, 3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'torch' has no attribute 'Tensor'
Je ne comprends pas cette erreur... bien sûr, dans la Torche de la 'torche' a un attribut du Tenseur'. La même commande fonctionne dans la Torche.
Comment puis-je résoudre ce problème?
>>> help(torch)
ou >>> torch
ou >>> dir(torch)
, etc. vous avez plus d'informations que nousVoici:
Help on package torch: NAME torch PACKAGE CONTENTS FILE (built-in) (END)
>>> torch <module 'torch' (namespace)>
>>> dir(torch); ['__doc__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
Essayez de plonger dans votre python dossier et de trouver le flambeau de la bibliothèque pour vérifier ce qui s'est passé
OriginalL'auteur DavideChicco.it | 2017-11-15
Vous devez vous connecter pour publier un commentaire.
Le Python binaire que vous êtes en cours d'exécution n'ont pas
torch
installé. Il ne avoir un répertoire nommétorch
sur le module de recherche de chemin, et il est traité comme un espace de noms de package:Tout un répertoire sans
__init__.py
de fichiers présents dans celui-ci, situé sur le module de recherche de chemin, sera traité comme un espace de noms, à condition pas d'autres modules Python ou les paquets de ce nom sont trouvés partout ailleurs le long de la chemin de recherche.Cela signifie que si
torch
a été installé pour votre Python binaire, il n'a pas d'importance si il y a un localtorch
répertoire:Ci-dessus montre que
sys.path
répertorie lestorch
répertoire en premier, suivi paradditional_path/torch
, mais ce dernier est chargé comme letorch
module lorsque vous essayez d'importer. C'est parce que Python donne la priorité à haut niveau de modules et packages avant de charger un espace de noms de package.Vous devez installer torche correctement pour votre Python binaire, voir la page d'accueil du projet; lors de l'utilisation de
pip
vous pouvez utiliser le Python binaire avec le-m
passer à la place:Afin de remplacer le
pip3
la page d'accueil instructions d'utilisation avecpython3.5 -m pip
;python3.5
peut également être le chemin d'accès complet à votre Python binaire.Faire utiliser le bon
download.pytorch.org
URL de la dernière version.Vous n'avez pas à déplacer le répertoire de côté, mais si vous ne voulez et ne sais pas où il est situé, l'utilisation
print(torch.__path__)
comme je l'ai indiqué ci-dessus.À nouveau, notez que si vous ne ont un
__init__.py
fichier dans un localtorch
répertoire, il devient un régulier du forfait et ça masque les paquets installés parpip
à la normalesite-packages
emplacement. Si vous disposez d'un package ou d'un localtorch.py
fichier unique module, vous avez besoin de renommer les. Les informations de diagnostic est différent dans ce cas:Noter les différences; un espace de noms de package, ci-dessus, utilise
<module 'name' (namespace)>
, tandis qu'un forfait de base utilise)
, while a plain module uses
`.Ces packages et modules (pas d'espace de noms de paquets) sont trouvé en premier et d'arrêter la recherche. Si l'assistant de package ou d'un module n'est pas celle que vous voulez, vous avez besoin pour aller de côté ou de les renommer.
il peut vous créer une pastie ou gist avec votre sortie, de sorte que nous pouvons diagnostiquer ce qui pourrait mal se passer? Ne
python3.5 -m pip freeze
liste de la torche?Voici la sortie de
python3.5 -m -pip freeze
:python3.5 -m pip freeze numexpr==2.6.1 numpy==1.11.1 olefile==0.44 pandas==0.18.1 Pillow==4.3.0 python-dateutil==2.5.3 pytz==2016.6.1 PyYAML==3.12 scikit-learn==0.17.1 scipy==0.17.1 six==1.10.0 tables==3.2.3.1 torch==0.2.0.post3 torchvision==0.1.9
donc
torch
est-il que la version0.2.0.post3
. Nepython3.5 -c 'import torch'
continuent de produire de l'exī dans votre question?python3.5 -c 'import torch'
pour fonctionne très bien. Aussiimport torch
de la Python3.5 shell fonctionne très bien. Une idée? MerciOriginalL'auteur Martijn Pieters
Ressemble à l'ordinateur portable est en cours d'exécution avec
python2
.Voir la
metadata
section de la fichier notebook (ouvrir dans un éditeur de texte)FIXER
1. Assurer la
python3.5
noyau pour ipython/jupyter est installé:python3.5 -m ipykernel install --name python3.5.1
2. Exécuter
jupyter notebook
et le changement de version du noyau dans le cahier:ou hackily modifier le
<notebook.ipynb>
directement (non recommandé):OriginalL'auteur stacksonstacks