generateFiles

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

描述

例子

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

要自定义代码生成工作流,请使用generateFilescodegen.如果您不需要自定义您的工作流,请使用generateCode

generateFiles生成以下MATLAB文件:

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

  • 一个包含机器学习模型信息的mat文件generateFiles使用saveLearnerForCoder函数将机器学习模型信息保存在mat -文件中,该文件的文件名存储在OutputFileName编码器配置程序的属性。initialize.m文件加载保存的mat -文件loadLearnerForCoder函数。

在生成这些文件之后,通过使用codegen和准备codegen参数存储在CodeGenerationArguments编码器配置程序的属性。

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

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

例子

全部折叠

训练一个机器学习模型,然后生成所需的MATLAB文件,生成C/ c++代码预测更新通过使用编码器配置器来实现模型的功能。

加载电离层数据集,训练二值支持向量机分类模型。万博1manbetx

负载电离层Mdl = fitcsvm (X, Y);

Mdl是一个ClassificationSVM对象。

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

配置= learnerCoderConfigurer (Mdl X);

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

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

generateFiles(配置)

generateFiles生成predict.mupdate.minitialize.m,ClassificationSVMModel.mat(一个包含机器学习模型信息的mat文件)。

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

类型predict.m显示predict.m的内容
function varargout = predict(X,varargin) %#codegen % Autogenerated by MATLAB, 29-Feb-2020 02:23:45 [varargout{1:nargout}] = initialize('predict',X,varargin{:});结束
类型update.m%显示update.m的内容
function update(varargin) %#codegen % Autogenerated by MATLAB, 29-Feb-2020 02:23:45 initialize('update',varargin{:});结束
类型initialize.m显示initialize.m的内容
function [varargout] = initialize(command,varargin) %#codegen % Autogenerated by MATLAB, 29- 2 -2020 02:23:45 code .inline('always') persistent model if isempty(model) model = loadLearnerForCoder('ClassificationSVMModel.mat');end switch(command) case 'update' % update struct fields: Alpha % 万博1manbetxSupportVectors % SupportVectorLabels % Scale % Bias % Prior % Cost model = update(model,varargin{:});case 'predict' %预测输入:X X = varargin{1};if nargout == 2 [varargout{1:nargout}] = predict(model,X);else PVPairs = cell(1,nargin-2);for i = 1:nargin-2 PVPairs{1,i} = varargin{i+1};end [varargout{1:nargout}] = predict(model,X,PVPairs{:});结束结束结束

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

cfArgs = configurer.CodeGenerationArguments;codegen (cfArgs {}):

输入参数

全部折叠

机器学习模型的编码器配置器,指定为通过使用learnerCoderConfigurer

模型 编码器配置对象
用于多类分类的二叉决策树 ClassificationTreeCoderConfigurer
支持向量机用于一类和二值分类 ClassificationSVMCoderConfigurer
二元分类的线性模型 ClassificationLinearCoderConfigurer
支持向量机的多分类模型和线性模型 ClassificationECOCCoderConfigurer
二叉决策树的回归 RegressionTreeCoderConfigurer
万博1manbetx支持向量机回归 RegressionSVMCoderConfigurer
线性回归 RegressionLinearCoderConfigurer

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

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

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

  • 路径也不能包含非7位的ASCII字符,例如日文字符。

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

generateFiles在指定的文件夹中搜索四个MATLAB文件:predict.mupdate.minitialize.m,以及一个包含机器学习模型信息的mat文件。如果文件夹中不存在这四个文件,则generateFiles生成的文件。否则,generateFiles不生成任何MATLAB文件。

例子:“C: \ myfile”

数据类型:字符|字符串

选择功能

  • 要自定义代码生成工作流,请使用generateFilescodegen.如果您不需要自定义您的工作流,请使用generateCode.另外生成四个MATLAB文件生成的generateFiles,generateCode函数也生成C/ c++代码。

介绍了R2018b