コード生成
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™ が必要です。
コード生成の詳細については、コード生成の紹介を参照してください。
コード生成をサポートする関数の一覧については、関数リスト (C/C++ コード生成) を参照してください。
関数
オブジェクト
トピック
コード生成のワークフロー
- コード生成の紹介
Statistics and Machine Learning Toolbox 関数に対する C/C++ コードを生成する方法を学ぶ。 - 一般的なコード生成のワークフロー
機械学習モデル オブジェクトを使用しない Statistics and Machine Learning Toolbox の関数に対するコードの生成。 - 機械学習モデルの予測をコマンド ラインで行うコードの生成
分類または回帰モデルの予測を行うためのコードをコマンド ラインで生成する。 - インクリメンタル学習用のコード生成
バイナリ線形分類用のインクリメンタル学習を実装するコードをコマンド ラインで生成する。 - 機械学習モデルの予測を MATLAB Coder アプリを使用して行うコードの生成
MATLAB Coder アプリを使用して、分類または回帰モデルの予測を行うためのコードを生成する。 - 予測用のコード生成とコーダー コンフィギュアラーの使用による更新
コーダー コンフィギュアラーを使用して、モデルの予測を行うコードを生成する。生成されたコードのモデル パラメーターを更新する。 - コード生成用の可変サイズ引数の指定
実行時にサイズが変化する可能性がある入力引数を受け入れるコードを生成する。 - table のデータを分類するためのコードの生成
数値変数とカテゴリカル変数を含む table のデータを分類するためのコードを生成する。 - カテゴリカル予測子用のダミー変数の作成と C/C++ コードの生成
SVM 分類器を当てはめてコードを生成する前に、カテゴリカル予測子を数値ダミー変数に変換します。 - SVM の予測用の固定小数点コード生成
SVM 分類モデルまたは SVM 回帰モデルを予測するために、固定小数点コードを生成します。 - 最近傍探索モデルのコード生成
再近傍探索モデルを使用して最近傍を探索するためのコードを生成する。 - 確率分布オブジェクトのコードの生成
確率分布オブジェクトを標本データに当てはめて、近似分布オブジェクトを評価するコードを生成します。 - 異常検出用のコード生成
学習済みの孤立森モデルまたは 1 クラス SVM を使用してデータ内の異常を検出する単精度のコードを生成する。
機械学習アプリでのコード生成のワークフロー
- 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. - 機械学習アプリからエクスポートされたモデルを使用したコマンド ラインでのコード生成
分類学習器アプリを使用して分類モデルに学習させ、MATLAB コマンド ラインで予測用の C/C++ コードを生成する。 - 分類学習器で学習させたバイナリ GLM ロジスティック回帰モデルのコード生成
この例では、分類学習器を使用してバイナリ GLM ロジスティック回帰モデルに学習させ、エクスポートされた分類モデルを使用してラベルを予測する C コードを生成する方法を示します。
コード生成の応用
- 分類およびコード生成用の System object
学習済みの分類モデルを使用して予測を行うためのコードを System object™ から生成し、System object を Simulink® モデルで使用します。 - MATLAB Function ブロックの使用によるクラス ラベルの予測
SVM モデルを使用してデータを分類する Simulink モデルからコードを生成します。 - Stateflow の使用によるクラス ラベルの予測
判別分析分類器を使用してデータを分類する Stateflow® モデルからコードを生成します。