Spyder: La carga múltiple del módulo pytorch con un script causa RuntimeError en la consola de IPython.

Creado en 30 abr. 2018  ·  3Comentarios  ·  Fuente: spyder-ide/spyder

Descripción del problema

Importar pytorch más de dos veces con la ejecución de un archivo en la ventana del editor provoca un error de tiempo de ejecución en la consola de IPython.
Estoy usando pytorch 0.4.0.

¿Qué pasos reproducirán el problema?

  1. Ejecute Spyder3.
  2. Escriba 'importar antorcha' en la ventana del editor.
  3. Ejecute el script.
  4. Ejecute el script nuevamente.

cual es la salida esperada? ¿Qué ves en su lugar?

Sin esperar ninguna excepción. Pero algunos módulos de compilación / recarga existentes parecen causar un error.
Tenga en cuenta que los pasos a continuación son la solución sucia y extraña.

  1. Ejecute Spyder3.
  2. Escriba 'importar antorcha' en la consola de IPython y presione enter.
  3. Escriba 'importar antorcha' en la ventana del editor.
  4. Ejecute el script.
  5. Ejecute el script nuevamente.
    En resumen, cargar inicialmente el módulo pytorch en la consola IPython resuelve el problema , pero no sé por qué.

Pegar seguimiento / error a continuación (si corresponde)

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

Versiones del paquete

  • Spyder: 3.2.8
  • Python: 3.6.4
  • Qt:
  • PyQt:
  • Sistema operativo: macOS 10.13.4

Dependencias

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

Todos 3 comentarios

Gracias por informarnos. Arreglaremos esto en nuestra próxima versión de corrección de errores.

Nota personal: Necesitamos agregar pytorch a la lista de módulos de la lista negra de UMR.

@dalthviz , trabaja en este, siguiendo mi nota anterior.

Estoy usando pytorch en spyder (instalado por "pip install --user torch"). Recibí un error al volver a ejecutar un archivo ("RuntimeError: el método 'detach' ya tiene una cadena de documentos"), pero deshabilitar UMR resolvió el problema. Sin embargo, mientras buscaba la razón, noté dos cosas:

  1. No pude agregar antorcha a las exclusiones de UMR en la GUI ("no instalado en la máquina")
  2. En umr.py, "pytorch" está codificado en la lista. Me preguntaba si esto es correcto, porque se importa con "import torch"
¿Fue útil esta página
0 / 5 - 0 calificaciones