在参照对象检测教程.ipynb。我想知道是否可以运行目录中的所有图像。
而不是编写 for 循环并运行“run_inference_for_single_image(image, graph)”。有没有办法对目录中的所有图像运行推理或对多个图像运行推理。link
for f in files:
if f.lower().endswith(('.png', '.jpg', '.jpeg')):
image_path = files_dir + '/' + f
.... // Read image etc.
output_dict = run_inference_for_single_image(image_np, detection_graph)
这将每次创建 tf.session,我认为它的计算成本很高。如果我错了,请纠正我。
如您所知,每次都会创建“run_inference_for_single_image”方法。
如果您想推断多个图像,您应该更改代码,例如,
-
方法调用
images = []
for f in files:
if f.lower().endswith(('.png', '.jpg', '.jpeg')):
image_path = files_dir + '/' + f
image = .... // Read image etc.
images.append(image)
output_dicts = run_inference_for_multiple_images(images, detection_graph)
-
run_inference_for_multiple_images
def run_inference_for_multiple_images(images, grapg):
with graph.as_default():
with tf.Session() as sess:
output_dicts = []
for index, image in enumerate(images):
... same as inferencing for single image
output_dicts.append(output_dict)
return output_dicts
执行此代码时不会每次都创建 tf.session,但只会创建一次。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)