モデル オブジェクトをコード生成用のファイルに保存
機械学習モデルのオブジェクト関数 (predict
、random
、knnsearch
または rangesearch
) に対する C/C++ コードを生成するには、saveLearnerForCoder
、loadLearnerForCoder
および codegen
(MATLAB Coder) を使用します。機械学習モデルに学習をさせた後で、saveLearnerForCoder
を使用してモデルを保存します。loadLearnerForCoder
を使用してモデルを読み込みオブジェクト関数を呼び出す、エントリポイント関数を定義します。その後、codegen
または MATLAB® Coder™ アプリを使用して C/C++ コードを生成します。C/C++ コードの生成には MATLAB Coder が必要です。
次のフロー チャートは、機械学習モデルのオブジェクト関数に対するコード生成ワークフローを示します。強調表示されているステップで saveLearnerForCoder
を使用します。
固定小数点の C/C++ コードを生成するには、予測に必要な変数の固定小数点データ型を定義する追加の手順が必要です。generateLearnerDataTypeFcn
によって生成されるデータ型関数を使用して固定小数点データ型構造体を作成し、その構造体をエントリポイント関数で loadLearnerForCoder
の入力引数として使用します。固定小数点の C/C++ コードを生成するには、MATLAB Coder および Fixed-Point Designer™ が必要です。
次のフロー チャートは、機械学習モデルの関数 predict
の固定小数点のコード生成ワークフローを示します。強調表示されているステップで saveLearnerForCoder
を使用します。
saveLearnerForCoder(
は、分類モデル、回帰モデルまたは最近傍探索モデル (Mdl
,filename
)Mdl
) をコード生成用に準備してから、filename
という名前の MATLAB 形式のバイナリ ファイル (MAT ファイル) に保存します。filename
を loadLearnerForCoder
に渡すと、filename
ファイルからモデル オブジェクトを再構築できます。
saveLearnerForCoder
は機械学習モデル (Mdl
) をコード生成用に準備します。この関数は、予測には必要ないプロパティを削除します。
対応するコンパクトなモデルがあるモデルの場合、関数 saveLearnerForCoder
は該当する関数 compact
をモデルに適用してからモデルを保存します。
対応するコンパクトなモデルがないモデル (ClassificationKNN
、ClassificationLinear
、RegressionLinear
、ExhaustiveSearcher
、KDTreeSearcher
など) の場合、関数 saveLearnerForCoder
はプロパティ (ハイパーパラメーター最適化プロパティなど)、ソルバーの学習に関する情報などを削除します。
loadLearnerForCoder
は、saveLearnerForCoder
によって保存されたモデルを読み込みます。
次の表に記載されているモデルに対して、learnerCoderConfigurer
が作成したコーダー コンフィギュアラーを使用します。
モデル | コーダー コンフィギュアラー オブジェクト |
---|---|
マルチクラス分類用の二分決定木 | ClassificationTreeCoderConfigurer |
1 クラスおよびバイナリ分類用の SVM | ClassificationSVMCoderConfigurer |
バイナリ分類用の線形モデル | ClassificationLinearCoderConfigurer |
SVM モデルおよび線形モデル用のマルチクラス モデル | ClassificationECOCCoderConfigurer |
回帰用の二分決定木 | RegressionTreeCoderConfigurer |
サポート ベクター マシン (SVM) 回帰 | RegressionSVMCoderConfigurer |
線形回帰 | RegressionLinearCoderConfigurer |
機械学習モデルに学習をさせた後で、モデルのコーダー コンフィギュアラーを作成します。コンフィギュアラーのプロパティとオブジェクト関数を使用することにより、コード生成オプションを設定し、モデルの関数 predict
および update
に対するコードを生成します。コーダー コンフィギュアラーを使用してコードを生成した場合、コードを再生成せずに、生成されたコードのモデル パラメーターを更新できます。詳細については、予測用のコード生成とコーダー コンフィギュアラーの使用による更新を参照してください。
generateLearnerDataTypeFcn
| loadLearnerForCoder
| codegen
(MATLAB Coder)