代码生成
为 Statistics and Machine Learning Toolbox™ 函数生成 C/C++ 代码
MATLAB® Coder™ 可从支持代码生成的 Statistics and Machine Learning Toolbox 函数中生成可读且可移植的 C 代码和 C++ 代码。例如,您可以利用代码生成,将经过训练的支持向量机 (SVM) 分类模型部署到不能运行 MATLAB 的硬件设备上,在这些硬件设备上对新观测值进行分类。
您可以通过多种方式为这些函数生成 C/C++ 代码:
对机器学习模型的对象函数使用
saveLearnerForCoder
、loadLearnerForCoder
和codegen
(MATLAB Coder)。对机器学习模型的
predict
和update
对象函数使用由learnerCoderConfigurer
创建的代码生成器配置器。使用配置器配置代码生成选项,并在生成代码中更新模型参数。对于支持代码生成的其他函数,使用
codegen
。在分类学习器或回归学习器中训练机器学习模型,并将模型导出到 MATLAB Coder。
您还可以生成定点 C/C++ 代码,用于预测一些机器学习模型。这种类型的代码生成需要 Fixed-Point Designer™。
要了解代码生成,请参阅Introduction to Code Generation。
有关支持代码生成的函数的列表,请参阅函数列表(C/C++ 代码生成)。
函数
对象
主题
代码生成工作流
- Introduction to Code Generation
Learn how to generate C/C++ code for Statistics and Machine Learning Toolbox functions. - General Code Generation Workflow
Generate code for Statistics and Machine Learning Toolbox functions that do not use machine learning model objects. - Code Generation for Prediction of Machine Learning Model at Command Line
Generate code for the prediction of a classification or regression model at the command line. - Code Generation for Incremental Learning
Generate code that implements incremental learning for binary linear classification at the command line. - Code Generation for Prediction of Machine Learning Model Using MATLAB Coder App
Generate code for the prediction of a classification or regression model by using the MATLAB Coder app. - Code Generation for Prediction and Update Using Coder Configurer
Generate code for the prediction of a model using a coder configurer, and update model parameters in the generated code. - Specify Variable-Size Arguments for Code Generation
Generate code that accepts input arguments whose size might change at run time. - Generate Code to Classify Data in Table
Generate code for classifying data in a table containing numeric and categorical variables. - Create Dummy Variables for Categorical Predictors and Generate C/C++ Code
Convert categorical predictors to numeric dummy variables before fitting an SVM classifier and generating code. - Fixed-Point Code Generation for Prediction of SVM
Generate fixed-point code for the prediction of an SVM classification or regression model. - Code Generation for Nearest Neighbor Searcher
Generate code for finding nearest neighbors using a nearest neighbor searcher model. - Code Generation for Probability Distribution Objects
Generate code that fits a probability distribution object to sample data and evaluates the fitted distribution object. - Code Generation for Anomaly Detection
Generate single-precision code that detects anomalies in data using a trained isolation forest model or one-class SVM.
机器学习 App 中的代码生成工作流
- Export Classification Model to MATLAB Coder to Generate C/C++ Code
Train a model in Classification Learner, and then export the model to MATLAB Coder to generate C/C++ code for prediction. - Export Regression Model to MATLAB Coder to Generate C/C++ Code
Train a model in Regression Learner, and then export the model to MATLAB Coder to generate C/C++ code for prediction. - Generate Code at Command Line Using Model Exported from Machine Learning App
Train a classification model using the Classification Learner app, and generate C/C++ code for prediction at the MATLAB command line. - Code Generation for Binary GLM Logistic Regression Model Trained in Classification Learner
This example shows how to train a binary GLM logistic regression model using Classification Learner, and then generate C code that predicts labels using the exported classification model.
代码生成应用程序
- System Objects for Classification and Code Generation
Generate code from a System object™ for making predictions using a trained classification model, and use the System object in a Simulink® model. - Predict Class Labels Using MATLAB Function Block
Generate code from a Simulink model that classifies data using an SVM model. - Predict Class Labels Using Stateflow
Generate code from a Stateflow® model that classifies data using a discriminant analysis classifier.