С MATLAB® Coder™, можно сгенерировать типовой код C or C++ для предсказания от уже обученной нейронной сети. Сгенерированный код C/C++ не зависит ни от каких сторонних библиотек. Сгенерированный код реализует нейронную сеть с архитектурой, слоями и параметрами, заданными во входе SeriesNetwork (Deep Learning Toolbox) или DAGNetwork (Deep Learning Toolbox) сетевой объект. Смотрите Сети и Слои, Поддержанные для Генерации кода.
Сгенерируйте код при помощи одного из этих методов:
Стандарт codegen команда для генерации кода C/C++ из кода MATLAB.
Приложение MATLAB Coder.
На Windows®, генерация кода для нейронных сетей для глубокого обучения с codegen функция требует Microsoft® Visual Studio® или MinGW® компилятор.
Интерфейс MATLAB Coder для Библиотек Глубокого обучения. Чтобы установить этот пакет поддержки, выберите его из меню MATLAB Add-Ons.
Deep Learning Toolbox™.
codegen
Напишите функцию точки входа в MATLAB что:
Использует coder.loadDeepLearningNetwork функционируйте, чтобы создать и настроить сетевой объект. Для получения дополнительной информации смотрите Предварительно обученные сети Загрузки для Генерации кода.
Вызывает predict (Deep Learning Toolbox) метод сети на входном параметре функции точки входа.
Задает MiniBatchSize в predict метод, чтобы справиться с использованием памяти для предсказания на нескольких входных изображениях или наблюдениях.
Например:
function out = my_predict(in) %#codegen % A persistent object mynet is used to load the series network object. % At the first call to this function, the persistent object is constructed and % setup. When the function is called subsequent times, the same object is reused % to call predict on inputs, thus avoiding reconstructing and reloading the % network object. persistent mynet; if isempty(mynet) mynet = coder.loadDeepLearningNetwork('myNetwork.mat'); end % pass in input out = predict(mynet,in,'MiniBatchSize',2);
Создайте объект dlconfig настройки глубокого обучения это сконфигурировано для генерации типового кода C/C++ при помощи coder.DeepLearningConfig функция.
dlconfig = coder.DeepLearningConfig(TargetLibrary='none');Создайте объект настройки генерации кода для MEX или для статической или динамически подключаемой библиотеки. По умолчанию генератор кода производит типовой код С. Чтобы произвести типовой Код С++, в вашем объекте настройки генерации кода, устанавливают TargetLang параметр к 'C++'. Установите DeepLearningConfig параметр к ранее созданному объекту dlconfig.
cfg = coder.config('lib'); cfg.TargetLang = 'C++'; cfg.DeepLearningConfig = dlconfig;
Запустите codegen команда. Используйте -config опция, чтобы задать объект настройки. Используйте -args опция, чтобы задать входной тип.
codegen -config cfg my_predict -args {myInput} -report
Примечание
Можно задать входные параметры полуточности для генерации кода. Однако тип генератора кода бросает входные параметры к с одинарной точностью. Использование Deep Learning Toolbox арифметика с плавающей точкой, с одинарной точностью для всех расчетов в MATLAB.
Выполните обычные шаги для определения функции точки входа и определения входных типов. Смотрите Генерируют код С при помощи Приложения MATLAB Coder.
На шаге Generate Code:
Установите Language или на C или на C++.
Нажмите More Settings. В панели Deep Learning, набор Target library к None.

Сгенерируйте код.
codegen | coder.DeepLearningConfig | coder.loadDeepLearningNetwork