最近,我从我的教授那里给了神经计算棒2,
经过大量的反复试验,我已经配置了环境。
我从英特尔官方网站获得了所有信息。
sudo python3 mo_tf.py
--input_model /home/leehanbeen/PycharmProjects/TypeClassifier/inference_graph_type.pb
--input_shape "[1, 64, 128, 3]" --input "input"
我已成功通过model_optimizer将pb文件转换为IR(.xml,.bin)文件,并希望将其应用于raspberry pi。
import tensorflow as tf
import cv2
import numpy as np
BIN_PATH = '/home/pi/Downloads/inference_graph_type.bin'
XML_PATH = '/home/pi/Downloads/inference_graph_type.xml'
IMAGE_PATH = '/home/pi/Downloads/plate(110).jpg_2.jpg' #naming miss.. :(
net = cv2.dnn.readNet(XML_PATH, BIN_PATH)
net.setPreferableTarget(cv2.dnn.DNN_TARGET_MYRIAD)
frame = cv2.imread(IMAGE_PATH)
frame = cv2.resize(frame, (128, 64))
blob = cv2.dnn.blobFromImage(frame, size=(128, 64), ddepth=cv2.CV_8U)
net.setInput(blob)
out = net.forward()
out = out.reshape(-1)
print(out)
print(np.max(out))
print(np.argmax(out))
这个源非常有效,但它太慢了。当我给(128,64,3)图像作为模型的输入时,推理时间是4.7秒
[0.0128479 0.2097168 0.76416016 0.00606918 0.00246811 0.00198746 0.00129604 0.00117588]
0.76416016
2
当我给出比这张图像更小的图像(40,40,1)时,时间相当无限慢。
我遵循了所有程序以及英特尔官方主页。为什么推理时间这么慢?这只是一个使用CNN的非常简单的分类模型
解决。而不是在OpenCV中使用IE作为后端,直接使用IE,推理时间从4.7秒缩短到0.01秒。但仍有问题。彩色图像(128,64)的推断是正常的,而灰度图像仍然在无限时间结束时结束。