本主题与英特尔论坛==> Here <==上的这个问题有关
我想运行tensorflow MaskRCNN来分割一些缺陷,但我有一些限制:无硬件更改(i5-64位,无GPU)
推断时间应短于采集时间(3sec/images)
为此,我使用了Tensorflow对象检测动物园的mask_rcnn_inception_v2_coco。在使用我自己的功能重新培训模型=>;确定
生成冻结的推理图=>确定
构建一个看门狗来处理图像=>;确定
我面临的问题是处理图像的操作是12秒。为了解决这个问题,{3优化模型:
安装库之后,我使用了以下命令:python .\mo_tf.py --input_model "\frozen_inference_graph.pb"
--tensorflow_use_custom_operations_config
extensions/front/tf/mask_rcnn_support_api_v1.11.json
--tensorflow_object_detection_api_pipeline_config
'\mask_rcnn_inception_v2_coco.config'
[ SUCCESS ] Generated IR model.
[ SUCCESS ] XML file: \frozen_inference_graph.xml
[ SUCCESS ] BIN file: \frozen_inference_graph.bin
[ SUCCESS ] Total execution time: 24.00 seconds.
接下来,我想用Python构建自己的推理引擎。
我是这样做的:
^{pr2}$
为了生成张量,我使用以下函数:def image_to_tensor(image,channels,h,w,info=""):
print(image[0])
image_tensor=np.zeros(shape=(1,channels,h,w),dtype=np.float32)
if image.shape[:-1]!=(h,w):
log.warning("Image {} is resized from {} to {}".format(info, image.shape[:-1],(h,w)))
image=cv2.resize(image,(w,h))
image = image.transpose((2, 0, 1))
image_tensor[0]=image
return image_tensor
在这之后,我构建了自己的自定义函数,以便处理Boundingbox和mask(比如使用Tensorflow ObjectDetectionAPI方法的包装器)。在
所有这些似乎都像一种魅力。
问题是,与张量流相比,概率更低,类错误。在
Openvino:Tensorflow:
当我在同一个网络上使用OpenVINO maskrcnn_demo时,它似乎可以工作:Average running time of one iteration: 6774.36 ms
[ INFO ] Processing output blobs
[ INFO ] Detected class 16 with probability 0.98652: [2043.3, 1104.9], [2412.87, 1436.52]
[ INFO ] Image out.png created!
[ INFO ] Execution successful
那么问题出在python引擎上,而不是模型导出
有人已经面对过这种行为了吗?
这是正常的,是因为OpenVINO的优化,还是我的方式有问题?
谢谢!在