Main Content

コード生成

Statistics and Machine Learning Toolbox™ 関数に対する C/C++ コードおよび MEX 関数の生成

MATLAB® Coder™ は、コード生成をサポートする Statistics and Machine Learning Toolbox 関数から、読み取り可能および移植可能な C および C++ コードを生成します。たとえば、コード生成を使用して学習済みのサポート ベクター マシン (SVM) 分類モデルをデバイスに展開することにより、MATLAB を実行できないハードウェア デバイスで新しい観測値を分類できます。

これらの関数に対する C/C++ コードは、いくつかの方法で生成できます。

  • 機械学習モデルのオブジェクト関数において、saveLearnerForCoderloadLearnerForCoder、および codegen (MATLAB Coder) を使用します。

  • 機械学習モデルのオブジェクト関数 predict および update に対する learnerCoderConfigurer によって作成されたコーダー コンフィギュアラーを使用します。コンフィギュアラーを使用してコード生成オプションを設定し、生成したコードのモデル パラメーターを更新します。

  • コード生成をサポートする他の関数については、codegen を使用します。

一部の機械学習モデルの予測において固定小数点の C/C++ コードを生成することもできます。このタイプのコード生成には Fixed-Point Designer™ が必要です。

機械学習モデルの予測を Simulink® に統合するには、MATLAB Function ブロックを使用するか、Statistics and Machine Learning Toolbox ライブラリの Simulink ブロックを使用します。

コード生成の詳細については、コード生成の紹介を参照してください。

コード生成をサポートする関数の一覧については、関数リスト (C/C++ コード生成) を参照してください。

関数

すべて展開する

saveLearnerForCoderモデル オブジェクトをコード生成用のファイルに保存 (R2019b 以降)
loadLearnerForCoder保存されたコード生成用モデルからのモデル オブジェクトの再構築 (R2019b 以降)
generateLearnerDataTypeFcn固定小数点コードの生成用のデータ型を定義する関数を生成 (R2019b 以降)

コーダー コンフィギュアラー オブジェクトの作成

learnerCoderConfigurer機械学習モデルのコーダー コンフィギュアラーの作成

コーダー コンフィギュアラー オブジェクトの処理

generateCodeコーダー コンフィギュアラーの使用による C/C++ コードの生成
generateFilesコーダー コンフィギュアラーを使用するコード生成用 MATLAB ファイルの生成
validatedUpdateInputs更新する機械学習モデルのパラメーターの検証および抽出
updateコード生成用にモデル パラメーターを更新

オブジェクト

すべて展開する

ClassificationTreeCoderConfigurerマルチクラス分類用の二分決定木モデルのコーダー コンフィギュアラー (R2019b 以降)
ClassificationSVMCoderConfigurer1 クラスおよびバイナリ分類用のサポート ベクター マシン (SVM) のコーダー コンフィギュアラー
ClassificationLinearCoderConfigurer高次元データの線形バイナリ分類用のコーダー コンフィギュアラー (R2019b 以降)
ClassificationECOCCoderConfigurerバイナリ学習器を使用するマルチクラス モデルのコーダー コンフィギュアラー (R2019a 以降)
RegressionTreeCoderConfigurer回帰用の二分決定木モデルのコーダー コンフィギュアラー (R2019b 以降)
RegressionSVMCoderConfigurerサポート ベクター マシン (SVM) 回帰モデルのコーダー コンフィギュアラー
RegressionLinearCoderConfigurer高次元データをもつ線形回帰モデル用のコーダー コンフィギュアラー (R2019b 以降)

ブロック

すべて展開する

ClassificationECOC Predict誤り訂正出力符号 (ECOC) 分類モデルを使用して観測値を分類 (R2023a 以降)
ClassificationEnsemble Predict決定木のアンサンブルを使用して観測値を分類 (R2021a 以降)
ClassificationKNN Predict最近傍分類モデルを使用した観測値の分類 (R2022b 以降)
ClassificationLinear Predict線形分類モデルを使用した観測値の分類 (R2023a 以降)
ClassificationNaiveBayes PredictClassify observations using naive Bayes model (R2023b 以降)
ClassificationNeuralNetwork Predictニューラル ネットワーク分類モデルを使用した観測値の分類 (R2021b 以降)
ClassificationSVM Predict1 クラスおよびバイナリ分類用のサポート ベクター マシン (SVM) 分類器を使用した観測値の分類 (R2020b 以降)
ClassificationTree Predict決定木分類器の使用による観測値の分類 (R2021a 以降)
RegressionEnsemble Predict回帰用の決定木のアンサンブルを使用した応答の予測 (R2021a 以降)
RegressionGP Predictガウス過程 (GP) 回帰モデルの使用による応答の予測 (R2022a 以降)
RegressionLinear Predict線形回帰モデルの使用による応答の予測 (R2023a 以降)
RegressionNeuralNetwork Predictニューラル ネットワーク回帰モデルを使用した応答の予測 (R2021b 以降)
RegressionSVM Predictサポート ベクター マシン (SVM) 回帰モデルの使用による応答の予測 (R2020b 以降)
RegressionTree Predict回帰木モデルの使用による応答の予測 (R2021a 以降)
IncrementalClassificationLinear PredictClassify observations using incremental linear classification model (R2023b 以降)
IncrementalClassificationLinear FitFit incremental linear binary classification model (R2023b 以降)
IncrementalRegressionLinear PredictPredict responses using incremental linear regression model (R2023b 以降)
IncrementalRegressionLinear FitFit incremental linear regression model (R2023b 以降)
Update MetricsUpdate performance metrics in incremental learning model given new data (R2023b 以降)
KNN SearchFind k-nearest neighbors using searcher object (R2023b 以降)

トピック

コード生成のワークフロー

分類予測ブロックと回帰予測ブロック

インクリメンタル学習ブロック

クラスター分析ブロック

コード生成の応用