2017-01-02 2 views
18

Das Programm, das ich schreibe, beinhaltet das Wechseln zwischen Modellen während der Laufzeit.Speichern von Tensorflow-Modellen im Speicher

Ich verwende derzeit Saver zum Speichern/Laden von Modellen von der Festplatte wie hier angegeben: https://www.tensorflow.org/api_docs/python/state_ops/saving_and_restoring_variables#Saver.

Die Modelle sind ziemlich klein und können im Speicher gespeichert werden, also habe ich mich gefragt, ob jemand eine Möglichkeit zum Speichern und Wiederherstellen dieser Modelle im Speicher kennt, anstatt sie auf der Festplatte zu speichern.

Ich habe versucht, die Tensorflow-Quelle zu modifizieren, um das Modell in den Speicher zu speichern, aber gen_io_ops scheint während der Kompilierzeit generiert zu werden. Eine andere Möglichkeit besteht darin, Speicherabbilddateien zu verwenden. Kennt jemand einen leichteren Weg?

+4

Was ist mit dem Speichern in tmpfs? –

Antwort

1

Ich hätte nur zwei verschiedene Sitzungen mit ihren eigenen Berechnung Graphen. Alternativ können Sie das Berechnungsdiagramm (zwei Kopien der Variablen, Operationen usw.) in derselben Sitzung duplizieren. Dann würden Sie sess.run(comp1 if useCompOne else comp2) anrufen, wie auch immer Sie es einrichten möchten.

+1

Dieser Ansatz (unter der Annahme, dass beide Sitzungen aktiv sind) hält die Variablen wo sie sind, d. H. Im GPU-Speicher; Wenn der GPU-Speicher ein Engpass ist (was oft der Fall ist), würde das OP eine Lösung benötigen, um die inaktiven Sitzungsdaten von der GPU in den billigeren/größeren System-RAM zu verschieben. – Peteris

+1

Sehr wahr. Ich arbeitete an seinem Kommentar: "Die Modelle sind ziemlich klein und können gespeichert werden". Ich nehme an, Sie könnten eine Kopie von beiden Sets im RAM haben, und eine Berechnung auf dem GPU-Speicher, und schreiben Sie dann eine 'Transfer' Op, um die aktuellen Werte von einem GPU zu RAM und umgekehrt zu kopieren, wenn das etwas war , aber ich würde andere Optionen ausprobieren, wenn sie nicht mehr zusammen in den Speicher passen. –

Verwandte Themen