[PYTHON] Speichern Sie eine bestimmte Variable in tensorflow.session

Verwenden Sie tensorflow.train.Saver, um Tensorflow-Variablen in einer Datei zu speichern. Alle Variablen in der Sitzung werden mit der im Lernprogramm beschriebenen Methode gespeichert. Um nur eine bestimmte Variable zu speichern / wiederherzustellen, geben Sie der Initialisierungsfunktion von tensorflow.train.Saver eine Liste der Variablen, auf die Sie in einem Wörterbuchtyp abzielen möchten.

Dies ermöglicht es, Variablen einzeln aus mehreren Dateien zu lesen.

save.py


import tensorflow as tf

def get_particular_variables(name):
    return {v.name: v for v in tf.all_variables() if v.name.find(name) >= 0}

def define_variables(var0_value, var1_value, var2_value):
    var0 = tf.Variable([var0_value])
    with tf.variable_scope('foo'):
        var1 = tf.Variable([var1_value])
    with tf.variable_scope('bar'):
        var2 = tf.Variable([var2_value])

    return var0, var1, var2


sess = tf.InteractiveSession()

# defines variables
var0, var1, var2 = define_variables(0.0, 0.0, 0.0)

# saving only variables whose name includes foo
saver = tf.train.Saver(get_particular_variables('foo'))

# initializing all of variables
sess.run(tf.initialize_all_variables())

print var0.eval(), var1.eval(), var2.eval()

# saving into file
saver.save(sess, './bar_val')

restore.py


import tensorflow as tf

def get_particular_variables(name):
    return {v.name: v for v in tf.all_variables() if v.name.find(name) >= 0}

def define_variables(var0_value, var1_value, var2_value):
    var0 = tf.Variable([var0_value])
    with tf.variable_scope('foo'):
        var1 = tf.Variable([var1_value])
    with tf.variable_scope('bar'):
        var2 = tf.Variable([var2_value])

    return var0, var1, var2

sess = tf.InteractiveSession()

# defines variables
var0, var1, var2 = define_variables(1.0, 1.0, 1.0)

# restoring only variables whole name includes foo
saver = tf.train.Saver(get_particular_variables('foo'))

# initializing all of variables
sess.run(tf.initialize_all_variables())
print 'before restoring: ', var0.eval(), var1.eval(), var2.eval()

# restoring variable from file
saver.restore(sess, './bar_val')
print 'after restoring only var in foo: ', var0.eval(), var1.eval(), var2.eval()

Bei dieser Methode müssen jedoch lange Namen und die Hierarchie der Namespaces berücksichtigt werden. Zum Beispiel

variable name-of-variable
var0 Variable:0
var1 foo/Variable:0
var2 foo/bar/Variable:0
var3 foobar/Variable:0

In einem solchen Fall gibt die Ausführung von get_particular_variables ('foo') oben var1, var2 und var3 zurück. Auf diese Weise werden abhängig von den Suchbedingungen zusätzliche Variablen gespeichert, die beim Wiederherstellen unerwartete Fehler verursachen können.

Recommended Posts

Speichern Sie eine bestimmte Variable in tensorflow.session
Geben Sie einen bestimmten Wert für die Variable im Tensorflow ein
Speichern Sie YAML-formatierte Dateien mit PyYAML
Einbetten von Variablen in Python-Strings
Klonen Sie mit einem bestimmten Zweig / Tag in GitPython
Extrahieren Sie mit Pandas Zeilen, die eine bestimmte "Zeichenfolge" enthalten
So zählen Sie Zahlen in einem bestimmten Bereich
Ruft Zeilen mit bestimmten Elementen in np.where ab
Ich möchte eine Variable in einen Python-String einbetten
diktieren in diktieren Macht ein Diktat ein Diktat
Speichern Sie Tweets mit bestimmten Schlüsselwörtern auf Twitter als CSV
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
[Linux] Wie Sie Ihre IP in eine Variable einfügen
Stoppen Sie eine Instanz mit einem bestimmten Tag in Boto3
[Sublime Text 2] Führen Sie immer eine bestimmte Datei im Projekt aus
Speichern Sie das Pystan-Modell und erhalten Sie eine Pickle-Datei
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Schreiben Sie ein Co-Autorennetzwerk in einem bestimmten Feld mit Informationen von arxiv
Geben Sie in vielen Excel gleichzeitig bestimmte Daten in ein bestimmtes Blatt ein
Eine Geschichte über den Versuch, private Variablen in Python zu implementieren.
Machen Sie einen Screenshot in Python
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Überschreiben Sie die Speichermethode von Django-Modellen
Erstellen Sie ein Lesezeichen in Python
Zeichne ein Herz in Python
Sparen Sie Zeit mit SQLAlchemy
So überprüfen Sie die Speichergröße einer Variablen in Python
Speichern Sie die Pydrive-Authentifizierungsdatei in einem anderen Verzeichnis als das Skript
Wenn Sie einer Variablen in Python einen CSV-Export zuweisen möchten
[Golang] Überprüfen Sie, ob eine bestimmte Zeichenfolge in der Zeichenfolge enthalten ist