Ich verwende ein benutzerdefiniertes Bildset, um ein neurales Netzwerk mit Tensorflow-API zu trainieren. Nach erfolgreichem Training bekomme ich diese Checkpoint-Dateien, die Werte verschiedener Trainingsvar. Enthalten. Ich möchte jetzt ein Inferenzmodell aus diesen Checkpoint-Dateien erhalten, das habe ich gefunden script, das das tut, das ich dann verwenden kann, um Deepdream-Bilder zu erzeugen, wie in diesem Tutorial erklärt. Das Problem ist, wenn ich mein Modell laden mit:Verwendung von Tensorflow-Inferenzmodellen zur Erzeugung von Deepdream-ähnlichen Bildern
import tensorflow as tf
model_fn = 'export'
graph = tf.Graph()
sess = tf.InteractiveSession(graph=graph)
with tf.gfile.FastGFile(model_fn, 'rb') as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
t_input = tf.placeholder(np.float32, name='input')
imagenet_mean = 117.0
t_preprocessed = tf.expand_dims(t_input-imagenet_mean, 0)
tf.import_graph_def(graph_def, {'input':t_preprocessed})
ich diesen Fehler:
graph_def.ParseFromString(f.read())
self.MergeFromString(serialized)
raise message_mod.DecodeError('Unexpected end-group tag.') google.protobuf.message.DecodeError: Unexpected end-group tag.
Das Skript eine Protokollpufferdatei erwarten, ich bin nicht sicher, ob die script Ich verwende Inferenz-Modelle zu erzeugen, gibt mir Proto-Puffer-Dateien oder nicht.
Kann jemand bitte vorschlagen, was mache ich falsch, oder gibt es einen besseren Weg, dies zu erreichen. Ich möchte einfach Checkpoint-Dateien, die vom Tensor erzeugt wurden, in Proto-Puffer umwandeln.
Dank