Я начал тренировать свои первые нейронные сети с помощью керас в python. Пока все работает нормально, но я бы хотел использовать обученные классификаторы в c или c ++ с не слишком большими накладными расходами. 1. Я не хочу ссылаться на библиотеку tenorflow 2. Мне также не нужно менять свою модель без перекомпиляции кода.
Я обнаружил на github разные проекты (например, ). https://github.com/gosha20777/keras2cpp), которые позволяют экспортировать модель keras в некоторый указанный файл c и загрузить этот файл с предоставленными классами c ++ для выполнения предсказаний. Это работает нормально, но все еще обладает большой функциональностью, которая мне не нужна (например, загружать любую сеть во время выполнения).
Я имел в виду сценарий python, который генерирует один c ++ учебный класс. Все веса будут включены в (большой) cpp файл с заголовком, который выглядит примерно так:
class MyTrainedNetwork
{
public:
MyTrainedNetwork();
~MyTrainedNetwork();
std::vector<double> doPrediction(const std::vector<double>& inputData);
private:
//helper functions
//weights
//...
};
У кого-нибудь была подобная проблема? Каким было ваше решение в конце концов? Есть ли в настоящее время проект для обеспечения чего-то подобного?
Я спрашиваю, потому что у меня очень маленькая сеть с всего ~ 100 параметрами, которую я хотел бы запустить на 8-битном микроконтроллере.