El depurador de Pycharm no funciona con pytorch y el aprendizaje profundo

El depurador de Pycharm no funciona con pytorch y el aprendizaje profundo

Esta pregunta se encuentra en algún punto intermedio entre Stackoverflow y Superusuario; al menos en mi opinión, así que no dudes en indicarme SO si este es el lugar equivocado (en tu opinión;)).

Problema:

Si coloco un punto de interrupción en mi código Python, el depurador se detiene. Si quiero pasar a la siguiente línea, lo hará. A menos quesucede después de una enumeración (cargador de datos). Puedo colocar un punto de interrupción después de enumerar (cargador de datos) y el depurador también se detiene. Sin embargo no puedo dar un paso entonces. Lo mismo sucede si coloco el punto de interrupción antes de enumerar (cargador de datos) y paso por encima de la línea de enumeración. No funcionará para la línea después de enumerar (...).

Lo interesante es que funcionó hasta hace poco, como hace una semana.

# Breakpoints work, stepping over works
...
for epoch in range(num_epochs):
    for i, data in enumerate(dataloader, 0):
        # If I break before this line and I step until the next, I can not step afterwards
        netD.zero_grad()
        # Breakpoints work, stepping does not

¿Qué intenté resolver esto?

  • Desinstalé PyCharm y lo reinstalé.
  • Intenté usar la edición comunitaria.
  • Intenté ejecutar ambas versiones con y sin la extensión del depurador cython.
  • Revisé qué cosas instalé después de que dejó de funcionar y las eliminé.
  • Revisé numerosas publicaciones en Jetbrains, SO y los foros de Pytorch. Encontré algunos que parecían interesantes, pero en realidad no se ajustaban a mi problema.
  • Intenté usar diferentes versiones de CUDA y cudnn.

Nada funcionó hasta ahora... Realmente no quiero reinstalar mi sistema operativo, lo que probablemente ayudaría, pero sí, por razones obvias, eso no es lo que quiero. ¿Alguien ha experimentado ALGUNA VEZ este tipo de comportamiento y puede ayudarme? Gracias de antemano. No dude en solicitar detalles adicionales. Intentaré proporcionar tantos detalles como sea posible.

Enumeraré algunos de los detalles de mi configuración:

SO:

  • CPU Intel® Core™ i7-7700K a 4,20 GHz × 8
  • Nvidia RTX 2080 TI
  • Versión del controlador NVIDIA-SMI 430.26: 430.26 Versión CUDA: 10.2
  • ubuntu 18.04

Software:

  • Comunidad PyCharm y EDU 2019.2
  • (Anaconda
  • cudnn instalado también
  • Dos envs conda para python 3.6 y python 3.7 con pytorch y todo lo que necesita (numpy, scipy, matplotlib, etc.)

NVCC:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168

Respuesta1

¡Tuve el mismo problema durante semanas y logré solucionarlo! La solución fue configurarlo num_workersdurante 0la creación del DataLoaderobjeto.

información relacionada