Введение в генерацию кода

Генерация кода C/C++ требует MATLAB® Coder™. MATLAB Coder генерирует читаемый и портативный C и Код С++ от функций Statistics and Machine Learning Toolbox™ та генерация кода поддержки. Можно интегрировать сгенерированный код в проекты как исходный код, статические библиотеки или динамические библиотеки. Можно также использовать сгенерированный код в среде MATLAB, чтобы ускорить в вычислительном отношении интенсивные фрагменты кода MATLAB.

Для списка включенных генерацией кода функций в Statistics and Machine Learning Toolbox смотрите Поддержку Генерации кода, Указания по применению и Ограничения. Для указаний и ограничений по применению генерации кода для каждой функции смотрите раздел Code Generation на странице ссылки на функцию. Обратите внимание на то, что ограничения MATLAB Coder применяются к Statistics and Machine Learning Toolbox за генерацию кода. Для получения дополнительной информации смотрите Функции языка MATLAB, Поддерживавшие для Генерации кода C/C++ (MATLAB Coder). В дополнение к этим ограничениям генерация кода в Statistics and Machine Learning Toolbox не поддерживает разреженные матрицы.

Рабочие процессы генерации кода

Можно сгенерировать код C/C++ для функций Statistics and Machine Learning Toolbox несколькими способами.

  • Общий рабочий процесс генерации кода для функций, которые не являются объектными функциями моделей машинного обучения

    Задайте функцию точки входа, которая вызывает функцию, которая поддерживает генерацию кода, сгенерируйте код C/C++ для функции точки входа при помощи codegen, и затем проверьте сгенерированный код. Функция точки входа, также известная как или первичную функцию верхнего уровня, является функцией, которую вы задаете для генерации кода. Поскольку вы не можете вызвать функцию в верхнем уровне с помощью codegen, необходимо задать функцию точки входа. Все функции в функции точки входа должны поддержать генерацию кода.

    Для получения дополнительной информации смотрите Общий Рабочий процесс Генерации кода.

  • Рабочий процесс генерации кода для объектной функции (predict, random, knnsearch или rangesearch) модели машинного обучения

    Сохраните обученную модель при помощи saveCompactModel и задайте функцию точки входа, которая загружает сохраненную модель при помощи loadCompactModel и вызывает объектную функцию. Затем сгенерируйте код для функции точки входа при помощи codegen и проверьте сгенерированный код. Входные параметры функции точки входа не могут быть объекты модели регрессии или классификация. Поэтому необходимо работать вокруг этого ограничения при помощи saveCompactModel и loadCompactModel.

    Для получения дополнительной информации смотрите эти примеры

  • Рабочий процесс генерации кода для predict и функций update модели машины вектора поддержки (SVM) или muticlass модели классификации выходных кодов с коррекцией ошибок (ECOC), использующей двоичных учеников SVM:

    Создайте кодер configurer при помощи learnerCoderConfigurer, сгенерируйте код при помощи generateCode, и затем проверьте сгенерированный код. Можно сконфигурировать опции генерации кода и задать атрибуты кодера параметров модели с помощью свойств объектов. После того, как вы переобучите модель с новыми данными или настройками, можно обновить параметры модели в сгенерированном коде C/C++, не имея необходимость регенерировать код. Эта функция уменьшает усилие, требуемое регенерировать, повторно развернуть, и повторно проверить код C/C++.

    Для получения дополнительной информации смотрите Генерацию кода для Прогноза и Обновления Используя Кодер Конфигурера.

Приложения генерации кода

Генерация кода для функций Statistics and Machine Learning Toolbox также работает с другими тулбоксами, такими как Simulink®, Система object™, и Stateflow®, как описано в этих примерах:

Для большего количества приложений генерации кода смотрите эти примеры:

Смотрите также

| | |

Похожие темы