2017-10-04 2 views
0

Ich habe versucht, in String und speichern Umwandlung kann es aber nicht zu den ursprünglichen Typ konvertieren zurückWie Liste schreiben zurück von tf.get_collection in eine Datei und lesen Sie es

ich pickle.dump auch versucht, aber seine die folgenden Fehler geben

raise TypeError, "can't pickle %s objects" % base.__name__ 
TypeError: can't pickle module objects 

Mein Code:

with tf.Session() as sess: 
    restorer = tf.train.import_meta_graph('abcd.ckpt.meta') 
    restorer.restore(sess,'abcd.ckpt') 
    vars = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES) 
    with open("pickle_target.txt", "wb") as fp: 
     pickle.dump(vars, fp) 

ich brauche die tf.get_collection in eine Datei zu speichern, es zu bearbeiten und wieder auf eine Liste zu lesen.

+1

Sie sollten die relevanten Teile Ihres Codes/Beispiels einschließen, um das Problem zu reproduzieren –

+0

Entschuldigung! Ich habe es jetzt bearbeitet :) Bitte schauen Sie hinein –

Antwort

0

tf.get_collection (tf.GraphKeys.GLOBAL_VARIABLES) gibt Ihnen eine Liste von Variablen, nicht die Werte, die in diesen Variablen gespeichert sind. Um die aktuellen Werte der Variablen zu erhalten haben Sie die Variablenliste in der Sitzung ausgeführt:

vars_list = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES) 
with tf.Session() as sess: 
    restorer = tf.train.import_meta_graph('abcd.ckpt.meta') 
    restorer.restore(sess,'abcd.ckpt') 
    vars = sess.run(vars_list) 

Jetzt Vars ist eine normale Python-Liste mit den aktuellen Variablenwerte.

Verwandte Themen