Spyder: Le chargement multiple du module pytorch avec un script provoque RuntimeError sur la console IPython.

Créé le 30 avr. 2018  ·  3Commentaires  ·  Source: spyder-ide/spyder

Description du problème

L'importation de pytorch plus de deux fois avec l'exécution d'un fichier dans la fenêtre de l'éditeur provoque une erreur d'exécution dans la console IPython.
J'utilise pytorch 0.4.0.

Quelles étapes vont reproduire le problème?

  1. Exécutez Spyder3.
  2. Écrivez «import torch» dans la fenêtre de l'éditeur.
  3. Exécutez le script.
  4. Exécutez à nouveau le script.

Quelle est l'attente de production? Que voyez-vous à la place?

N'attendant aucune exception. Mais certains modules existants de compilation / rechargement semblent provoquer une erreur.
Notez que les étapes ci-dessous sont la solution étrange et sale.

  1. Exécutez Spyder3.
  2. Écrivez 'import torch' dans la console IPython et appuyez sur Entrée.
  3. Écrivez «import torch» dans la fenêtre de l'éditeur.
  4. Exécutez le script.
  5. Exécutez à nouveau le script.
    En bref, le chargement initial du module pytorch sur la console IPython résout le problème , mais je ne sais pas pourquoi.

Coller le suivi / erreur ci-dessous (le cas échéant)

Traceback (most recent call last):

  File "<ipython-input-3-bc7ab1fdfb9b>", line 1, in <module>
    runfile('/Users/aaa/.spyder-py3/temp.py', wdir='/Users/aaa/.spyder-py3')

  File "/usr/local/lib/python3.6/site-packages/spyder/utils/site/sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "/usr/local/lib/python3.6/site-packages/spyder/utils/site/sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "/Users/aaa/.spyder-py3/temp.py", line 7, in <module>
    import torch

  File "/usr/local/lib/python3.6/site-packages/torch/__init__.py", line 184, in <module>
    from .tensor import Tensor

  File "/usr/local/lib/python3.6/site-packages/torch/tensor.py", line 12, in <module>
    class Tensor(torch._C._TensorBase):

  File "/usr/local/lib/python3.6/site-packages/torch/tensor.py", line 170, in Tensor
    """)

RuntimeError: method 'detach' already has a docstring

Versions du package

  • Spyder: 3.2.8
  • Python: 3.6.4
  • Qt:
  • PyQt:
  • Système d'exploitation: macOS 10.13.4

Dépendances

IPython >=4.0    :  6.3.1 (OK)
cython >=0.21    :  0.28.2 (OK)
jedi >=0.9.0     :  0.12.0 (OK)
nbconvert >=4.0  :  5.3.1 (OK)
numpy >=1.7      :  1.14.1 (OK)
pandas >=0.13.1  :  0.22.0 (OK)
psutil >=0.3     :  5.4.5 (OK)
pycodestyle >=2.3:  2.4.0 (OK)
pyflakes >=0.6.0 :  1.6.0 (OK)
pygments >=2.0   :  2.2.0 (OK)
pylint >=0.25    :  1.8.4 (OK)
qtconsole >=4.2.0:  4.3.1 (OK)
rope >=0.9.4     :  0.10.7 (OK)
sphinx >=0.6.6   :  1.7.4 (OK)
sympy >=0.7.3    :  1.1.1 (OK)
IPython Console Bug

Tous les 3 commentaires

Merci d'avoir signalé. Nous corrigerons cela dans notre prochaine version de correction de bogues.

Note à moi-même: nous devons ajouter pytorch à la liste des modules UMR sur la liste noire.

@dalthviz , veuillez travailler sur celui-ci, en suivant ma note ci-dessus.

J'utilise pytorch dans spyder (installé par "pip install --user torch"). J'ai eu une erreur lors de la réexécution d'un fichier ("RuntimeError: la méthode 'detach' a déjà une docstring"), mais la désactivation de UMR a résolu le problème. Cependant, en cherchant la raison, j'ai remarqué deux choses:

  1. Je n'ai pas pu ajouter la torche aux exclusions UMR dans l'interface graphique ("non installé sur la machine")
  2. Dans umr.py "pytorch" est codé en dur dans la liste. Je me demandais si c'était correct, car il est importé avec "import torch"
Cette page vous a été utile?
0 / 5 - 0 notes