Automatische Übersetzung. Diese Seite wurde maschinell aus EN übersetzt und kann Fehler enthalten.

PyTorch ist langsam und schnell unter Windows

Für ein Projekt bei der Arbeit musste ich ein neuronales Netzwerk trainieren. Ich habe einen Windows-Laptop mit einer guten GPU. Wenn ich unter Windows entwickle, ist mein erster Ansatz, im WSL (Windows Subsystem für Linux) zu arbeiten. Und es funktionierte auch. Ich bemerkte jedoch, dass meine GPU-Nutzung nicht optimal war. Deshalb habe ich es auch unter nativem Windows ausgeführt.

Metric Nativ Windows WSL
Training 2.2 it/s 1.3 it/s
Eval ~5 it/s 1.5it/s
Thread-Erstellung 46s ~5s
Thread-Erstellung 54s ~5s
GPU-Nutzung Training Bild Bild
GPU-Nutzung Val Bild Bild

Ich habe dieses Wissen genutzt, indem ich jetzt unter nativem Windows laufe, aber mit persistenten Workers, sodass die Threads nicht in jeder Epoche neu erstellt werden müssen.

Natürlich ist dies nur ein Beispiel. Mit einer anderen PyTorch-Version könnte sich das ändern. Vielleicht verhält es sich mit einer anderen GPU anders.

Die langsame Thread-Erstellung ist ein bekanntes Problem, wenn man Foren betrachtet, aber die signifikante Leistungssteigerung bei Verwendung von nativem Windows war unerwartet.

Podman ist genauso schnell wie natives WSL.

Anaconda ist in diesem Setup auch nicht schneller als normales Python.

GitHub