С 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