bekomme ich eine Grafik-Datei (pb-Datei) verwende, das Ziel dieses Tensorflow Modell istTensorflow: Vorhersage aus Diagramm-Datei (.pb Datei)
i einen Code entwickelt haben, eine Vorhersage über bestimmte Bild zu liefern diese geladene Grafikdatei, aber ich kann Sitzung nicht Stat. die Dateien verfügbar sind: -
- training_model_saved_model.pb
- Variablen
- training_model_variables_variables.data-00000-of-00001
- training_model_variables_variables.index
die Ausgabe ist Fehler enthält eine große Liste des Modells layer.what i in diesem Fall tun kann, ist jede Hilfe
dies den Code i
import tensorflow as tf
import sys
import os
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
from tensorflow.core.protobuf import saved_model_pb2
from tensorflow.python.util import compat
from tensorflow.python.platform import gfile
export_dir = os.path.join("./", "variables/")
filename = "imgpsh_fullsize.jpeg"
raw_image_data = mpimg.imread(filename)
g = tf.Graph()
with tf.Session(graph=g) as sess:
model_filename ='training_model_saved_model.pb'
with gfile.FastGFile(model_filename, 'rb') as f:
data = compat.as_bytes(f.read())
sm = saved_model_pb2.SavedModel()
sm.ParseFromString(data)
#print(sm)
if 1 != len(sm.meta_graphs):
print('More than one graph found. Not sure which to write')
sys.exit(1)
image_input= tf.import_graph_def(sm.meta_graphs[0].graph_def,name='',return_elements=["input"])
#print(image_input)
#saver = tf.train.Saver()
saver = tf.train.import_meta_graph(sm.meta_graphs[0].graph_def)
'''
print(image_input)
x = g.get_tensor_by_name("input:0")
print(x)
'''
saver.restore(sess,model_filename)
predictions = sess.run(feed_dict={image: raw_image_data})
print('###################################################')
print(predictions)
Fehler vorhanden ist, das Modell zu laden verwenden geschätzt/run
Traceback (most recent call last):
File "model_Input-get.py", line 35, in <module>
saver = tf.train.import_meta_graph(sm.meta_graphs[0].graph_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 1691, in import_meta_graph
meta_graph_def = meta_graph.read_meta_graph_file(meta_graph_or_file)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/meta_graph.py", line 553, in read_meta_graph_file
if not file_io.file_exists(filename):
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/lib/io/file_io.py", line 252, in file_exists
pywrap_tensorflow.FileExists(compat.as_bytes(filename), status)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/compat.py", line 65, in as_bytes
(bytes_or_text,))
TypeError: Expected binary or unicode string, got node {
name: "input"
op: "Placeholder"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_STRING
}
}
Ich fühle mich verloren bei der Wiederherstellung der GraphFile. i verwendet, um die SavedModel, weil, wenn ich das versuchen ' graph_def = tf.GraphDef() graph_def.ParseFromString (f.read()) g_in = tf.import_graph_def (graph_def) ' i bekommen protobuf.message.DecodeError –
Was schlagen Sie für eine Bearbeitung im Code vor, können Sie bitte weitere Details angeben. was meinst du mit wechseln zu TF Serving, hörte ich über bazel wie man das hier anwendet –