Я открываю эту ветку, чтобы обсудить, как перенести мою модель NN в развертывание.
Я строю и обучаю NN в Matlab с mdCNN, (mdCNN — это простая библиотека Matlab для построения NN для многомерного ввода, которая в настоящее время не поддерживается в Matlab-cov3x3x3). Я обучил свою модель в Matlab, теперь я хочу довести ее до производства.
После нескольких часов исследований я планирую сделать следующее
Поезд NN модель в Керасе с TF Backend. Я выбираю Keras, потому что хочу иметь обратную совместимость с Matlab в будущем.
Получить сеанс тензорного потока из модели Keras, есть пример, как это сделать Вот. чем Сохранить сессию в * .pd файле
Загрузить модель NN из openCV dnn модель. есть определенная функция, которая делает это
cv::readNet()
Запустите NN в C ++, используя OpenCV с
net.setInput(blob);
Mat prob = net.forward();
Я хочу уточнить у вас, будет ли этот поток действительно работать. Есть какие-нибудь предложения, как сделать развертывание лучше? Любые предложения или улучшения для потока?
Может быть, посмотрите на этот вопрос: Конвертировать модель Keras в C ++
Основная идея — сохранить модель в формате json, а веса — в hdf5 и использовать эту keras2cpp Решение конвертировать его в C ++.
Других решений пока нет …