Tensorflow OOM auf der GPU

9

Ich trainiere einige Musikdaten auf einem LSTM-RNN in Tensorflow und stoße auf ein Problem mit der GPU-Speicherzuweisung, das ich nicht verstehe: Ich stoße auf ein OOM, wenn anscheinend gerade genug VRAM verfügbar ist . Etwas Hintergrund: Ich arbeite an Ubuntu Gnome 16.04, mit einem GTX1060 6GB, Intel Xeon E3-1231V3 und 8GB RAM. So jetzt zuerst der Teil der Fehlermeldung, die ich verstehen kann, in der und ich werde die gesamte Fehlermeldung am Ende wieder für jeden, der es bitten könnte, zu helfen:

  

I tensorflow / core / common_runtime / bfc_allocator.cc: 696] 8 Chunks von   Größe 256 in Summe 2,0KiB I   tensorflow / core / common_runtime / bfc_allocator.cc: 696] 1 Chunks der Größe   1280 in Höhe von 1,2 KiB I   tensorflow / core / common_runtime / bfc_allocator.cc: 696] 5 Chunks der Größe   44288 in Höhe von 216,2 KiB I   tensorflow / core / common_runtime / bfc_allocator.cc: 696] 5 Chunks der Größe   56064 in Höhe von 273,8KiB I   tensorflow / core / common_runtime / bfc_allocator.cc: 696] 4 Chunks der Größe   154350080 mit insgesamt 588,80MiB I   tensorflow / core / common_runtime / bfc_allocator.cc: 696] 3 Chunks der Größe   813400064 in Höhe von 2,27GiB I   tensorflow / core / common_runtime / bfc_allocator.cc: 696] 1 Chunks der Größe   1612612352 in Höhe von 1,50GiB I   tensorflow / core / common_runtime / bfc_allocator.cc: 700] Summe Summe von   In-Gebrauch-Stücke: 4.35GiB I   Tensorfluss / Kern / common_runtime / bfc_allocator.cc: 702] Statistik:

     

Grenze: 5484118016

     

InUse: 4670717952

     

MaxInUse: 5484118016

     

NumAllocs: 29

     

MaxAllocSize: 1612612352

     

W Tensorfluss / Kern / common_runtime / bfc_allocator.cc: 274]   *********************

LJKS 27.02.2017, 21:17
quelle

3 Antworten

3

Schau dir das mal an

  

Achten Sie darauf, das Evaluierungs- und Trainings-Binary nicht gleichzeitig auszuführen   GPU oder sonst könnte der Speicher knapp werden. Überlege, ob du die   Auswertung auf einer separaten GPU, falls verfügbar oder Aussetzen des Trainings   binär, während die Auswertung auf derselben GPU läuft.

Ссылка

    
jeck yung 03.08.2017, 07:50
quelle
1

Ich behebe dieses Problem, indem ich batch_size=52 reduziere Um die Speicherbelegung zu reduzieren, muss batch_size reduziert werden.

  

Batch_size hängt von Ihrer GPU-Grafikkarte, VRAM-Größe, Cache-Speicher usw. ab.

Bitte bevorzugen Sie einen weiteren Stack Overflow Link

    
Sushant 13.12.2017 15:06
quelle
0

Wenn ich auf OOM auf GPU stoße, glaube ich, dass die Änderung von batch size die richtige Option ist, um es zuerst zu versuchen.

  

Für verschiedene GPUs benötigen Sie möglicherweise eine andere Batchgröße basierend auf der GPU   Erinnerung, die du hast.

In letzter Zeit habe ich mich mit der ähnlichen Art von Problem konfrontiert, die viel geändert wurde, um die verschiedenen Arten von Experimenten durchzuführen.

Hier ist der Link zur Frage (auch einige Tricks sind enthalten).

Wenn Sie jedoch die Größe des Stapels reduzieren, können Sie feststellen, dass Ihr Training langsamer wird. Wenn Sie also mehrere GPUs haben, können Sie sie verwenden. Um über Ihre GPU zu prüfen, können Sie auf das Terminal schreiben,

%Vor%

Es zeigt Ihnen notwendige Informationen über Ihr GPU-Rack.

    
M Saiful Bari 09.01.2018 01:39
quelle

Tags und Links