|
20170512-110547.pb 似乎无法load。我用https://github.com/nyoki-mtl/keras-facenet 把20170512-110547的checkpoint文件转换到h5格式。 再用以下code重新freeze到pb
文件就可以用rknn load了。 最终rknn 测试结果96fps。
# Clear any previous session.
tf.keras.backend.clear_session()
save_pb_dir = "./model"
model_fname = "./model/facenet_keras.h5"
def freeze_graph(
graph,
session,
output,
save_pb_dir=".",
save_pb_name="frozen_model.pb",
save_pb_as_text=False,
):
with graph.as_default():
graphdef_inf = tf.graph_util.remove_training_nodes(graph.as_graph_def())
graphdef_frozen = tf.graph_util.convert_variables_to_constants(
session, graphdef_inf, output
)
graph_io.write_graph(
graphdef_frozen, save_pb_dir, save_pb_name, as_text=save_pb_as_text
)
return graphdef_frozen
# This line must be executed before loading Keras model.
tf.keras.backend.set_learning_phase(0)
model = load_model(model_fname)
model.summary()
session = tf.keras.backend.get_session()
INPUT_NODE = [t.op.name for t in model.inputs]
OUTPUT_NODE = [t.op.name for t in model.outputs]
print("\nINPUT_NODE: {}\nOUTPUT_NODE: {}".format(INPUT_NODE, OUTPUT_NODE))
frozen_graph = freeze_graph(
session.graph,
session,
[out.op.name for out in model.outputs],
save_pb_dir=save_pb_dir,
)
# ## Convert `.pb` file to RKNN model
#
# Run `convert_rknn.py`
|
|