Pytorchs Lösung für das Problem der geringen GPU-Auslastung

Als ich Resnet für das Training verwendete, stellte ich fest, dass die Trainingsgeschwindigkeit nicht schnell genug war. Daher überprüfte ich die CPU- und GPU-Auslastung im Task-Manager und stellte fest, dass die CPU nahezu voll war, während die GPU-Auslastung nur a betrug Ein einstelliger Prozentsatz, was sehr seltsam war. Offensichtlich wurden die Modell- und Berechnungsprobleme an die GPU gesendet, aber die Auslastungsrate der GPU war so niedrig, dass ich an der Beziehung zwischen den beiden zweifelte und die folgende Untersuchung durchführte:
num_workers und GPU-Auslastung im Zusammenhang:
1. Wenn num_worker=0, beträgt die GPU-Belegungsrate nur 18 % ~ 30 %.
2. Wenn num_worker=4, beträgt die GPU-Auslastung 70–80 %.

num_workers hängt mit der Trainingsgeschwindigkeit zusammen:
1. Wenn num_worker=0, dauert das Training einer Epoche zu diesem Zeitpunkt zweieinhalb Minuten
2.num_worker =4, das Trainieren einer Epoche dauert nur weniger als eine Minute

Als ergänzende Erklärung muss die tatsächliche GPU-Nutzung in cmd angezeigt werden. Geben Sie einfach nvidia-smi ein und drücken Sie die Eingabetaste.

Guess you like

Origin blog.csdn.net/weixin_41788643/article/details/112544265