Ich bin ziemlich neu in Tensorflow und versuche, object_detection_tutorial auszuführen. Ich erhalte TypeErrror und weiß nicht, wie ich das beheben soll.
Dies ist die Funktion load_model, bei der zwei Argumente fehlen:
Tags: Satz von String-Tags zur Identifizierung des erforderlichen MetaGraphDef. Diese sollten den Tags entsprechen, die beim Speichern der Variablen mit der SavedModel save () -API verwendet werden.
export_dir: Verzeichnis, in dem sich der SavedModel-Protokollpuffer und die zu ladenden Variablen befinden.
def load_model(model_name):
base_url = 'http://download.tensorflow.org/models/object_detection/'
model_file = model_name + '.tar.gz'
model_dir = tf.keras.utils.get_file(
fname=model_name,
origin=base_url + model_file,
untar=True)
model_dir = pathlib.Path(model_dir)/"saved_model"
model = tf.saved_model.load(str(model_dir))
model = model.signatures['serving_default']
return model
WARNING:tensorflow:From <ipython-input-9-f8a3c92a04a4>:11: load (from tensorflow.python.saved_model.loader_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.loader.load or tf.compat.v1.saved_model.load. There will be a new function for importing SavedModels in Tensorflow 2.0.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-12-e10c73a22cc9> in <module>
1 model_name = 'ssd_mobilenet_v1_coco_2017_11_17'
----> 2 detection_model = load_model(model_name)
<ipython-input-9-f8a3c92a04a4> in load_model(model_name)
9 model_dir = pathlib.Path(model_dir)/"saved_model"
10
---> 11 model = tf.saved_model.load(str(model_dir))
12 model = model.signatures['serving_default']
13
~/.local/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py in new_func(*args, **kwargs)
322 'in a future version' if date is None else ('after %s' % date),
323 instructions)
--> 324 return func(*args, **kwargs)
325 return tf_decorator.make_decorator(
326 func, new_func, 'deprecated',
TypeError: load() missing 2 required positional arguments: 'tags' and 'export_dir'
Können Sie mir helfen, dieses Problem zu beheben und meinen ersten Objektdetektor auszuführen: D?
quelle
Ich vermutete, dass es sich um ein Verzweigungsproblem handelte, und die Verwendung des Zweigs tf_2_1_reference hat den Trick für mich getan:
Führen Sie dann jede Jupiter-Zelle des Tutorials wie einen guten Neuling aus!
Dies ist der Zweig, den ich verwendet habe: https://github.com/tensorflow/models/tree/tf_2_1_reference
quelle