Pycharm-Debugger funktioniert nicht mit PyTorch und Deep Learning

Pycharm-Debugger funktioniert nicht mit PyTorch und Deep Learning

Diese Frage ist irgendwo zwischen Stackoverflow und Superuser angesiedelt – zumindest meiner Meinung nach. Verweisen Sie mich also gern auf SO, wenn dies (Ihrer Meinung nach ;)) der falsche Ort ist.

Problem:

Wenn ich in meinem Python-Code einen Haltepunkt setze, stoppt der Debugger. Wenn ich zur nächsten Zeile springen möchte, wird das getan. Es sei dennes passiert nach einem Enumerate(Dataloader). Ich kann einen Haltepunkt nach Enumerate(Dataloader) setzen und der Debugger stoppt ebenfalls. Allerdings kann ich dann nicht weitermachen. Dasselbe passiert, wenn ich den Haltepunkt vor Enumerate(Dataloader) setze und über die Enumerate-Zeile gehe. Für die Zeile nach Enumerate(..) funktioniert es nicht.

Das Interessante ist, dass es bis vor kurzem funktioniert hat - vor etwa einer Woche

# 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

Was habe ich versucht, um das Problem zu lösen:

  • Ich habe PyCharm deinstalliert und neu installiert.
  • Ich habe versucht, die Community Edition zu verwenden.
  • Ich habe versucht, beide Versionen mit und ohne die Cython-Debugger-Erweiterung auszuführen.
  • Ich habe geprüft, welche Dinge ich installiert hatte, nachdem es nicht mehr funktionierte, und sie entfernt.
  • Ich habe zahlreiche Beiträge in den Foren von Jetbrains, SO und Pytorch überprüft. Einige davon sahen interessant aus, passten aber nicht zu meinem Problem.
  • Ich habe versucht, verschiedene CUDA- und Cudnn-Versionen zu verwenden.

Bisher hat nichts funktioniert ... Ich möchte mein Betriebssystem nicht wirklich neu installieren, was höchstwahrscheinlich helfen würde, aber ja, aus offensichtlichen Gründen ist das nicht das, was ich möchte. Hat jemand schon einmal dieses Verhalten erlebt und kann mir helfen? Vielen Dank im Voraus. Fragen Sie ruhig nach weiteren Details. Ich werde versuchen, so viele Details wie möglich anzugeben.

Ich werde einige Details meines Setups auflisten:

Betriebssystem:

  • Intel® Core™ i7-7700K CPU @ 4,20 GHz × 8
  • Nvidia RTX 2080 TI
  • NVIDIA-SMI 430.26 Treiberversion: 430.26 CUDA-Version: 10.2
  • Ubuntu 18.04

Software:

  • PyCharm Community und EDU 2019.2
  • (Anakonda
  • cudnn ebenfalls installiert
  • Zwei Conda-Umgebungen für Python 3.6 und Python 3.7 mit PyTorch und allem, was es braucht (Numpy, Scipy, Matplotlib usw.)

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

Antwort1

Ich hatte wochenlang das gleiche Problem und habe es gerade behoben! Die Lösung bestand num_workersdarin 0, während der Erstellung des DataLoaderObjekts auf einzustellen.

verwandte Informationen