文档

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函数。

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

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

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

例子

全部折叠

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

加载电离层数据集和训练的二进制支持向量机(SVM)分类模型。金宝app

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

Mdl是一个ClassificationSVM对象。

属性的编码器配置程序ClassificationSVM对象。

configurer = 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 %由MATLAB自动生成,01-Feb-2020 04:13:17 [varargout{1:nargout}] =初始化('predict',X,varargin{:});结束
类型update.m显示update.m的内容
函数更新(varargin) %#codegen %由MATLAB自动生成,01-Feb-2020 04:13:17 initialize('update',varargin{:});结束
类型initialize.m显示initialize.m的内容
function [varargout] = initialize(command,varargin) %#codegen %由MATLAB自动生成,01-Feb-2020 04:13:17 code .inline('always')持久模型if isempty(模型)model = loadLearnerForCoder('ClassificationSVMModel.mat');end switch(command) case 'update' %更新结构字段:Alpha % SupportVectors %金宝app SupportVectorLabels % Scale % Bias % Prior % Cost model = update(model,varargin{:});预测输入:X X = varargin{1};if nargin == 2 [varargout{1:nargout}] = predict(模型,X);else PVPairs = cell(1,nargin-2);如果i = 1:nargin-2 pvairs {1,i} = varargin{i+1};end [varargout{1:nargout}] = predict(model,X,PVPairs{:});结束结束

生成C/ c++代码codegen准备好的codegen参数存储在CodeGenerationArguments的属性配置

cfArgs = configuration . codegenerationarguments;codegen (cfArgs {}):

                   

输入参数

全部折叠

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

模型 编码器配置对象
用于多类分类的二叉决策树 ClassificationTreeCoderConfigurer
支持向量机用于一类和二元分类 ClassificationSVMCoderConfigurer
二元分类的线性模型 ClassificationLinearCoderConfigurer
支持向量机和线性模型的多类模型 ClassificationECOCCoderConfigurer
用于回归的二叉决策树 RegressionTreeCoderConfigurer
金宝app支持向量机(SVM)回归 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中引入