主要内容

generateFiles

生成MATLAB使用编码器配置文件代码生成

自从R2018b

描述

例子

generateFiles (配置)MATLAB生成®文件需要生成C / c++代码通过使用编码器配置配置,并将生成的文件保存在当前文件夹。

自定义代码生成工作流、使用generateFilescodegen(MATLAB编码器)。如果你不需要自定义工作流,使用generateCode

generateFilesMATLAB生成下列文件:

  • predict.m,update.m,initialize.m- - - - - -predict.mupdate.m的入口点函数吗预测更新机器学习模型的功能,分别,这两个函数调用initialize.m。您可以修改这些文件根据你的代码生成工作流。例如,您可以修改predict.m文件包括数据预处理,或者您可以将这些入口点函数添加到另一个代码生成项目。

  • 信息——MAT-file,包括机器学习模型generateFiles使用saveLearnerForCoderMAT-file函数保存机器学习模型信息的文件名存储在OutputFileName一个编码人员配置的属性。initialize.m加载保存MAT-file使用loadLearnerForCoder函数。

生成这些文件后,通过使用生成C / c++代码codegen(MATLAB编码器)和准备codegen参数存储在CodeGenerationArguments一个编码人员配置的属性。

如果该文件夹已经包括所有四个MATLAB文件,generateFiles不生成任何文件。

generateFiles (配置“OutputPath”,outputPath)生成MATLAB文件在指定的文件夹中outputPath

例子

全部折叠

火车一个机器学习模型,然后生成MATLAB文件需要生成C / c++代码预测更新功能模型的使用编码器配置。

加载电离层数据集。

负载电离层

火车一个二进制支持向量机(SV金宝appM)分类模型,使用高斯核函数和一个自动内核规模。

Mdl = fitcsvm (X, Y,“KernelFunction”,“高斯”,“KernelScale”,“汽车”);

Mdl是一个ClassificationSVM对象。

创建一个编码器的配置ClassificationSVM对象。

配置= learnerCoderConfigurer (Mdl X);

配置是一个ClassificationSVMCoderConfigurer对象,该对象是一个编码器的配置ClassificationSVM对象。

使用generateFiles生成所需的MATLAB文件生成C / c++代码预测更新模型的功能。

generateFiles(配置)

generateFiles生成predict.m,update.m,initialize.m,ClassificationSVMModel.mat(MAT-file包括机器学习模型信息)。

显示的内容predict.m,update.m,initialize.m文件。

类型predict.m%显示predict.m内容
变长度输入宗量函数varargout =预测(X) % # codegen %自动生成通过MATLAB, 03 - mar - 2023 10:45:51 [varargout {1: nargout}] =初始化(“预测”,X,变长度输入宗量{:});结束
类型update.m%显示update.m内容
函数更新(变长度输入宗量)% # codegen %自动生成通过MATLAB, 03 - mar - 2023 10:45:51初始化(“更新”,变长度输入宗量{:});结束
类型initialize.m%显示initialize.m内容
函数[varargout] =初始化(指挥、变长度输入宗量)% # codegen %自动生成通过MATLAB, 03 - mar - 2023 10:45:51 coder.inline(“总是”)持久模型如果isempty(模型)模型= loadLearnerForCoder (“ClassificationSVMModel.mat”);终端开关(命令)案例'更新' %更新结构体字段:α% SupportVectors % SupportVectorLabels之前%金宝app % %比例%偏见成本模型=更新(模型、变长度输入宗量{:});例“预测”%预测输入:X X =变长度输入宗量{1};如果输入参数个数= = 2 (varargout {1: nargout}] =预测(模型中,X);其他PVPairs =细胞(1、nargin-2);i = 1: nargin-2 PVPairs{1,} =变长度输入宗量{i + 1};结束(varargout {1: nargout}] =预测(模型、X PVPairs {:});结束结束结束

通过使用生成C / c++代码codegen(MATLAB编码器)和准备codegen参数存储在CodeGenerationArguments的属性配置

cfArgs = configurer.CodeGenerationArguments;codegen (cfArgs {}):
代码生成成功。

输入参数

全部折叠

编码器配置的机器学习模型,指定为一个编码器通过使用创建的配置对象learnerCoderConfigurer

模型 编码器配置对象
二叉决策树的多类分类 ClassificationTreeCoderConfigurer
看到下面成了和二进制分类的支持向量机 ClassificationSVMCoderConfigurer
线性模型的二进制分类 ClassificationLinearCoderConfigurer
多类支持向量机模型和线性模型 ClassificationECOCCoderConfigurer
二叉决策树的回归 RegressionTreeCoderConfigurer
金宝app支持向量机(SVM)回归 RegressionSVMCoderConfigurer
线性回归 RegressionLinearCoderConfigurer

输出文件的文件夹的路径generateFiles,指定为一个特征向量数组或字符串。

指定的文件夹路径可以是绝对路径或相对路径到当前文件夹路径。

  • 路径必须不包含空格,因为他们可以导致在某些操作系统配置代码生成失败。

  • 路径也不能包含non-7-bit ASCII字符,如日本的角色。

如果指定的文件夹不存在generateFiles创建文件夹。

generateFiles搜索指定的文件夹四MATLAB文件:predict.m,update.m,initialize.m,MAT-file包括机器学习模型信息。如果这四个文件不存在的文件夹,然后generateFiles生成的文件。否则,generateFiles不产生任何MATLAB文件。

例子:“C: \ myfile”

数据类型:字符|字符串

选择功能

  • 自定义代码生成工作流、使用generateFilescodegen(MATLAB编码器)。如果你不需要自定义工作流,使用generateCode。除了生成四MATLAB文件生成的generateFiles,generateCode函数还生成C / c++代码。

版本历史

介绍了R2018b