为什么使用SavedModel进行推理要比使用从SavedModel生成的冻结图慢?

时间:2020-09-16 05:34:29

标签: python tensorflow

我正在尝试使用SavedModel格式执行推理;但是,我注意到尝试像这样直接在SavedModel上执行推断:

migrate packages.config to packagesreference

比将SavedModel加载到冻结图然后对生成的冻结图进行推断要慢得多:

predict_fn = predictor.from_saved_model(SAVED_MODEL_DIR)
predictions = predict_fn({'input': data})

任何人都可以帮助我了解这是为什么的原因吗?我怀疑原因是因为直接在SavedModel上进行推理需要为每一批输入创建一个新的Session,而Frozen Graph却不需要这样做。进入SavedModel的输入不能为with tf.Session(graph=graph) as sess: tf.saved_model.loader.load(sess, meta_graph_def.meta_info_def.tags, savedmodel_dir) frozen_graph_def = tf.graph_util.convert_variables_to_constants(sess, graph.as_graph_def(), output_names) 类型,这也将限制某些功能,例如预取。但是,我不确定我的理解是否正确。

此外,对于连续一批输入,使用SavedModel格式执行推理的推荐方法是什么?

0 个答案:

没有答案