opencv — обучение нейронной сети на Python и развертывание в переполнении стека

Я открываю эту ветку, чтобы обсудить, как перенести мою модель NN в развертывание.

Я строю и обучаю NN в Matlab с mdCNN, (mdCNN — это простая библиотека Matlab для построения NN для многомерного ввода, которая в настоящее время не поддерживается в Matlab-cov3x3x3). Я обучил свою модель в Matlab, теперь я хочу довести ее до производства.

После нескольких часов исследований я планирую сделать следующее

  1. Поезд NN модель в Керасе с TF Backend. Я выбираю Keras, потому что хочу иметь обратную совместимость с Matlab в будущем.

  2. Получить сеанс тензорного потока из модели Keras, есть пример, как это сделать Вот. чем Сохранить сессию в * .pd файле

  3. Загрузить модель NN из openCV dnn модель. есть определенная функция, которая делает это

    cv::readNet()
    
  4. Запустите NN в C ++, используя OpenCV с

    net.setInput(blob);
    Mat prob = net.forward();
    

Я хочу уточнить у вас, будет ли этот поток действительно работать. Есть какие-нибудь предложения, как сделать развертывание лучше? Любые предложения или улучшения для потока?

2

Решение

Может быть, посмотрите на этот вопрос: Конвертировать модель Keras в C ++

Основная идея — сохранить модель в формате json, а веса — в hdf5 и использовать эту keras2cpp Решение конвертировать его в C ++.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]