我有英特尔NCS2,我想在上面运行我的程序,但我有一些问题
代码:
import json
import cv2
def decode_out(out):
detections = []
for data in out[0, 0, :, :]:
if float(data[2]) > 0.3:
detections.append({
"bbox": [float(x) for x in data[3:]],
"score": float(data[2]),
"class_id": int(data[1])
})
return sorted(detections, key=lambda x: x['score'], reverse=True)
image = cv2.imread(r"C:\Users\06442\PycharmProjects\OpenVino\33.jpg")
image = cv2.resize(image, (300, 300))
input_blob = cv2.dnn.blobFromImage(image, 1.0 / 127.5, (300, 300), 127.5)
model = r"C:\Users\06442\PycharmProjects\OpenVino\MobileNetSSD_deploy.caffemodel"
prototxt = r"C:\Users\06442\PycharmProjects\OpenVino\MobileNetSSD_deploy.prototxt"
net = cv2.dnn.readNetFromCaffe(prototxt, model)
# with CPU
net.setPreferableTarget(cv2.dnn.DNN_TARGET_CPU)
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_OPENCV)
net.setInput(input_blob)
out1 = net.forward()
print(json.dumps(decode_out(out1), indent=2))
# with NCS2
net.setPreferableTarget(cv2.dnn.DNN_TARGET_MYRIAD)
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_INFERENCE_ENGINE)
net.setInput(input_blob)
out2 = net.forward()
print(json.dumps(decode_out(out2), indent=2))
“out2=net.forward()”中出现错误:
Unknown backend identifier in function
在CPU上所有工作,但在NCS2上不工作。 在我的另一个代码中,我有一个错误:
Build OpenCV with Inference Engine to enable loading models from Model Optimizer
也许是有帮助的
错误表明,这可能是由于您环境中使用的OpenCV版本,该版本可能没有Intel的深度学习推理引擎(DL IE)
假设您在Windows上(基于程序中使用的路径),您可以选择以下选项之一:
有关此信息和其他信息,请查看Intel's Deep Learning Inference Engine backend
相关问题 更多 >
编程相关推荐