Я пытаюсь экспортировать модель, которую я обучил, используя керасы с бэкэндом тензорного потока, в файл .pb, чтобы я мог использовать его для Android, и я получаю следующую ошибку при попытке заморозить свой график.
Traceback (most recent call last):
File "youtubeExample.py", line 102, in <module>
export_model(tf.train.Saver(), model, ["conv2d_1_input"], "output")
File "youtubeExample.py", line 49, in export_model
'out/frozen_' + MODEL_NAME + '.pb', True, "")
File "/anaconda3/lib/python3.6/site-packages/tensorflow/python/tools/freeze_graph.py", line 244, in freeze_graph
saved_model_tags.split(","), checkpoint_version=checkpoint_version)
File "/anaconda3/lib/python3.6/site-packages/tensorflow/python/tools/freeze_graph.py", line 153, in freeze_graph_with_def_protos
variable_names_blacklist=variable_names_blacklist)
File "/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/graph_util_impl.py", line 232, in convert_variables_to_constants
inference_graph = extract_sub_graph(input_graph_def, output_node_names)
File "/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/graph_util_impl.py", line 174, in extract_sub_graph
_assert_nodes_are_present(name_to_node, dest_nodes)
File "/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/graph_util_impl.py", line 133, in _assert_nodes_are_present
assert d in name_to_node, "%s is not in graph" % d
AssertionError: output is not in graph
Часть кода, которую я использую для определения своей модели:
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(224,224,3)))
model.add(Flatten())
model.add(Dense(units = 2, activation='softmax', name = "output"))
model.compile(Adam(lr=.0001), loss='categorical_crossentropy', metrics=['accuracy'])
Я был бы признателен за любую помощь, которую я мог бы получить с этой проблемой, поскольку я относительно новичок в tenorflow / keras.