2016-07-28 8 views
1

Ich verwende Tensorflow. Mein GPU-Speicher ist nicht genug, also möchte ich die Gradienten von 4 Iterationen zur Aktualisierung der Variablen mitteln.wie iter_size wie caffe in tensorflow implementieren

Wie geht das im Tensorflow?

+0

Willkommen bei Stack Overflow! Ich habe deine Frage soweit bearbeitet, wie ich dein Problem erraten konnte. Aber zuerst googeln Sie es, versuchen Sie sich dann, wenn Sie stecken geblieben sind, dann kommen Sie hier und fügen Sie Code und Beschreibung hinzu, damit mehr Leute mit Wissen des Themas es sehen werden. Bitte editieren Sie in der spezifischen Fehlermeldung, die Sie antreffen, falls es notwendig ist, das spezifische Problem zu identifizieren. Viel Glück! – manetsus

+0

Im Tensorflow ist die Rückpropagation mit eingebauten Optimierern viel einfacher in der Programmierung. Würden Sie angesichts des Speicherproblems eine kleinere Batchgröße versuchen und die Backpropagation einmal in jeder Iteration ausführen? – weitang114

Antwort

0

Ich traf das gleiche Problem. Ich denke, this example könnte für Ihr Problem nützlich sein. Er berechnet N Batches mit N GPUs und führt dann die Backpropagation einmal durch. Was Sie tun müssen, ist die Linie 165-166 zu ändern. Führen Sie 'compute_gradients()' 'iter_size' mal aus und führen Sie 'average_gradients()' einmal aus.

+0

zuerst eine Antwort und dann Beispiele. – Sachith

+0

Nur Link-Antworten werden in diesem Forum nicht gut angenommen. Zeigen Sie den Code und verweisen Sie dann auf den Link. –

+0

ja. Tensorflow bietet einige offizielle Beispiele. Aber der Code ist ein bisschen trivial und nicht so bequem, Multi-GPU Parallelprogramme zu schreiben. –