代码生成

为统计和机器学习工具箱™函数生成C/ c++代码和MEX函数

MATLAB®编码器™从支持代码生成的统计和机器学习工具箱函数中生成可读和可移植的C和c++代码。万博1manbetx例如,通过使用代码生成将训练有素的支持向量机(SVM)分类模型部署到设备上,可以对无法运行MATLAB的硬件设备上的新观察结果进行分类。万博1manbetx

您可以通过几种方式为统计和机器学习工具箱函数生成C/ c++代码。

  • 目标函数的代码生成(预测,随机,knnsearch,或rangesearch)的机器学习模式-使用saveLearnerForCoder,loadLearnerForCoder,codegen。通过使用保存一个训练好的模型saveLearnerForCoder。定义一个入口点函数,使用以下命令加载保存的模型loadLearnerForCoder并调用对象函数。然后使用codegen为入口点函数生成代码。

  • 的代码生成预测更新树模型的功能,支持向量机模型,线性模型,或使用支持向量机或线性二进制学习器的多类纠错输出码(ECOC)分类模型learnerCoderConfigurer然后通过使用生成代码generateCode。您可以更新生成的C/ c++代码中的模型参数,而不必重新生成代码。

  • 支持代码生成使用的其他函数万博1manbetxcodegen。定义一个入口点函数,该函数调用支持代码生成的函数。万博1manbetx然后为入口点函数生成C/ c++代码codegen

您还可以生成用于预测SVM模型、决策树模型和决策树集合的定点C/ c++代码。这种代码生成需要定点设计器™。

有关支持代码生成的函数列表,请参见万博1manbetx函数列表(C/ c++代码生成)

要了解代码生成,请参见代码生成简介

功能

全部展开

saveLearnerForCoder 将模型对象保存到文件中,以便生成代码
loadLearnerForCoder 从保存的模型中重构模型对象以生成代码
generateLearnerDataTypeFcn 为定点代码生成定义数据类型的函数

创建编码器配置器对象

learnerCoderConfigurer 创建机器学习模型的编码器配置器

工作与编码器配置对象

generateCode 使用编码器配置器生成C/ c++代码
generateFiles 生成MATLAB使用编码器配置器生成代码的文件
validatedUpdateInputs 验证和提取机器学习模型参数进行更新
更新 更新代码生成的模型参数

对象

全部展开

ClassificationTreeCoderConfigurer 编码器配置的二叉决策树模型多类分类
ClassificationSVMCoderConfigurer 编码器配置支持向量机(SVM)为一类和二分万博1manbetx类
ClassificationLinearCoderConfigurer 编码器配置的线性二进制分类的高维数据
ClassificationECOCCoderConfigurer 编码器配置多类模型使用二进制学习者
RegressionTreeCoderConfigurer 编码器配置器二叉决策树回归模型
RegressionSVMCoderConfigurer 支持向量机(SVM)回归模型的编码器配置器万博1manbetx
RegressionLinearCoderConfigurer 编码器配置线性回归模型与高维数据

主题

代码生成工作流

代码生成简介

学习如何为统计和机器学习工具箱函数生成C/ c++代码。

通用代码生成工作流

生成不使用机器学习模型对象的统计和机器学习工具箱函数的代码。

命令行机器学习模型预测的代码生成

在命令行生成用于预测分类或回归模型的代码。

机器学习模型预测的代码生成使用MATLAB编码器应用

生成用于分类或回归模型预测的代码MATLAB编码器应用程序。

代码生成预测和更新使用编码器配置

使用编码器配置器为模型的预测生成代码,并更新生成代码中的模型参数。

代码生成和分类学习者应用

使用classification Learner app训练分类模型,生成C/ c++代码进行预测。

代码生成最近邻搜索

使用最近邻搜索器模型生成查找最近邻的代码。

为代码生成指定可变大小的参数

生成接受输入参数的代码,这些参数的大小在运行时可能会改变。

用分类预测器训练SVM分类器并生成C/ c++代码

在拟合SVM分类器和生成代码之前,将分类预测器转换为数字虚拟变量。

支持向量机预测的定点编码生成

生成用于预测支持向量机分类或回归模型的定点代码。

概率分布对象的代码生成

生成将概率分布对象与样本数据拟合并评估拟合分布对象的代码。

生成对表中的数值数据进行分类的代码

使用二叉决策树生成用于对表中的数值数据进行分类的代码。

代码生成的应用程序

使用MATLAB函数块预测类标签

从Simulink生成代码万博1manbetx®使用SVM模型对数据进行分类的模型。

用于分类和代码生成的系统对象

从System object™生成代码,使用经过训练的分类模型进行预测,并在Simulink模型中使用系统对象。万博1manbetx

使用Stateflow预测类标签

从Stateflow生成代码®使用判别分析分类器对数据进行分类的模型。

特色的例子