Spyder: Das mehrfache Laden des Pytorch-Moduls mit einem Skript führt zu RuntimeError auf der IPython-Konsole.

Erstellt am 30. Apr. 2018  ·  3Kommentare  ·  Quelle: spyder-ide/spyder

Problembeschreibung

Das mehr als zweimalige Importieren von pytorch beim Ausführen einer Datei im Editorfenster führt zu einem Laufzeitfehler in der IPython-Konsole.
Ich benutze Pytorch 0.4.0.

Welche Schritte reproduzieren das Problem?

  1. Führen Sie Spyder3 aus.
  2. Schreiben Sie 'import torch' in das Editorfenster.
  3. Führen Sie das Skript aus.
  4. Führen Sie das Skript erneut aus.

Was ist die erwartete Leistung? Was siehst du stattdessen?

Ich erwarte keine Ausnahme. Das Kompilieren / Neuladen eines vorhandenen Moduls scheint jedoch einen Fehler zu verursachen.
Beachten Sie, dass die folgenden Schritte die schmutzige, seltsame Lösung sind.

  1. Führen Sie Spyder3 aus.
  2. Schreiben Sie 'import torch' in die IPython-Konsole und drücken Sie die Eingabetaste.
  3. Schreiben Sie 'import torch' in das Editorfenster.
  4. Führen Sie das Skript aus.
  5. Führen Sie das Skript erneut aus.
    Kurz gesagt, das anfängliche Laden des Pytorch-Moduls auf der IPython-Konsole löst das Problem , aber ich weiß nicht warum.

Traceback / Fehler unten einfügen (falls zutreffend)

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

Paketversionen

  • Spyder: 3.2.8
  • Python: 3.6.4
  • Qt:
  • PyQt:
  • Betriebssystem: macOS 10.13.4

Abhängigkeiten

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

Alle 3 Kommentare

Vielen Dank für die Berichterstattung. Wir werden dies in unserer nächsten Bugfix-Version beheben.

Hinweis für sich selbst: Wir müssen pytorch zur Liste der UMR-Module auf der schwarzen Liste hinzufügen.

@ Dalthviz , bitte arbeiten Sie an diesem, folgen Sie meinem Hinweis oben.

Ich benutze Pytorch in Spyder (installiert von "pip install --user torch"). Beim erneuten Ausführen einer Datei ist ein Fehler aufgetreten ("RuntimeError: Methode 'trennen' hat bereits eine Dokumentzeichenfolge"), aber das Deaktivieren von UMR hat das Problem behoben. Bei der Suche nach dem Grund fielen mir jedoch zwei Dinge auf:

  1. Ich konnte den UMR-Ausschlüssen in der GUI keine Taschenlampe hinzufügen ("nicht auf dem Computer installiert").
  2. In umr.py ist "pytorch" in der Liste fest codiert. Ich habe mich gefragt, ob dies korrekt ist, da es mit "Importfackel" importiert wird.
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen