Neural Compute Stick 2: я выполнил всю обработку для использования NCS2, но это слишком медленно - PullRequest
0 голосов
/ 18 марта 2019

Недавно я дал Neural Compute Stick 2 от моего профессора,

После долгих проб и ошибок я настроил среду.

Я получил всю информацию с официального сайта Intel.

sudo python3 mo_tf.py 
\ --input_model /home/leehanbeen/PycharmProjects/TypeClassifier/inference_graph_type.pb 
\ --input_shape "[1, 64, 128, 3]" --input "input"

Я успешно преобразовал pb-файл в файл IR (.xml, .bin) через model_optimizer и хотел применить его к 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), чем это изображение, время было довольно бесконечно медленным.

Я выполнил все процедуры, а также на официальной домашней странице Intel. Почему время вывода такое медленное? Это просто очень простая модель классификации с использованием CNN

1 Ответ

0 голосов
/ 20 марта 2019

Решено. Вместо использования IE в качестве бэкэнда в OpenCV, Используя IE напрямую, время вывода было сокращено с 4,7 до 0,01 секунды. Но есть еще проблема. Вывод для цветных изображений (128, 64) является нормальным, в то время как изображение в градациях серого все еще заканчивается в конце бесконечного времени.

Я написал соответствующий исходный код на моем GITHUB

Это на корейском, но вы можете видеть только источник внизу.

...