loadLearnerForCoder
構文
説明
機械学習モデルのオブジェクト関数 (predict
、random
、knnsearch
、rangesearch
、isanomaly
、インクリメンタル学習関数など) に対する C/C++ コードを生成するには、saveLearnerForCoder
、loadLearnerForCoder
、および codegen
(MATLAB Coder) を使用します。機械学習モデルに学習をさせた後で、saveLearnerForCoder
を使用してモデルを保存します。loadLearnerForCoder
を使用してモデルを読み込みオブジェクト関数を呼び出す、エントリポイント関数を定義します。その後、codegen
または MATLAB® Coder™ アプリを使用して C/C++ コードを生成します。C/C++ コードの生成には MATLAB Coder が必要です。
単精度の C/C++ コードの生成をサポートする関数の場合は、saveLearnerForCoder
、loadLearnerForCoder
、および codegen
(MATLAB Coder) を使用し、関数 loadLearnerForCoder
を呼び出すときに名前と値の引数 'DataType','single'
を指定します。
次のフロー チャートは、機械学習モデルのオブジェクト関数に対するコード生成ワークフローを示します。強調表示されているステップで loadLearnerForCoder
を使用します。
固定小数点の C/C++ コードを生成するには、予測に必要な変数の固定小数点データ型を定義する追加の手順が必要です。generateLearnerDataTypeFcn
によって生成されるデータ型関数を使用して固定小数点データ型構造体を作成し、その構造体をエントリポイント関数で loadLearnerForCoder
の入力引数として使用します。固定小数点の C/C++ コードを生成するには、MATLAB Coder および Fixed-Point Designer™ が必要です。
次のフロー チャートは、機械学習モデルの関数 predict
の固定小数点のコード生成ワークフローを示します。強調表示されているステップで loadLearnerForCoder
を使用します。
は、Mdl
= loadLearnerForCoder(filename
)filename
という名前の MATLAB 形式のバイナリ ファイル (MAT ファイル) に格納されているモデルからモデル (Mdl
) を再構築します。filename
ファイルは、saveLearnerForCoder
を使用して作成しなければなりません。
は、Mdl
= loadLearnerForCoder(filename
,'DataType',T
)filename
に格納されているモデルの固定小数点バージョンを返します。構造体 T
には、モデルの関数 predict
を使用するために必要な変数の固定小数点データ型を指定するフィールドが含まれます。generateLearnerDataTypeFcn
によって生成された関数を使用して T
を作成します。
この構文をエントリポイント関数で使用し、codegen
を使用してエントリポイント関数の固定小数点コードを生成します。コードを生成する場合にのみ、この構文を使用できます。
例
入力引数
出力引数
制限
Mdl
がCompactLinearModel
の場合 —fitlm
を使用し、RobustWgtFun
フィールドに無名関数ハンドルを設定した構造体を'RobustOpts'
に対して指定することにより線形モデルに学習をさせた場合に、saveLearnerForCoder
を使用してモデルを保存してから、loadLearnerForCoder
を使用してモデルを読み込んだとします。この場合、loadLearnerForCoder
は Robust プロパティを MATLAB ワークスペースに復元できません。しかしloadLearnerForCoder
は、コード生成用のエントリポイント関数内でコンパイル時にモデルを読み込むことができます。Mdl
がCompactClassificationSVM
またはCompactClassificationECOC
の場合 — 事後確率を予測するモデルを保存するためにsaveLearnerForCoder
を使用し、モデルを読み込むためにloadLearnerForCoder
を使用した場合、loadLearnerForCoder
はScoreTransform
プロパティを MATLAB ワークスペースに復元できません。しかしloadLearnerForCoder
は、コード生成用のコンパイル時に、エントリポイント関数内でScoreTransform
プロパティを含めてモデルを読み込むことができます。
ヒント
ガウス過程回帰 (GPR) モデルまたはサポート ベクター マシン (SVM) モデル用の単精度コード生成では、モデルに学習させるときに
'Standardize',true
を指定して標準化されたデータを使用します。
アルゴリズム
saveLearnerForCoder
は機械学習モデル (Mdl
) をコード生成用に準備します。この関数は、いくつかの不要なプロパティを削除します。
対応するコンパクトなモデルがあるモデルの場合、関数
saveLearnerForCoder
は該当する関数compact
をモデルに適用してからモデルを保存します。対応するコンパクトなモデルがないモデル (
ClassificationKNN
、ClassificationKernel
、ClassificationLinear
、RegressionKernel
、RegressionLinear
、ExhaustiveSearcher
、KDTreeSearcher
、IsolationForest
、OneClassSVM
など) の場合、関数saveLearnerForCoder
はプロパティ (ハイパーパラメーター最適化プロパティなど)、ソルバーの学習に関する情報などを削除します。
loadLearnerForCoder
は、saveLearnerForCoder
によって保存されたモデルを読み込みます。
代替機能
次の表に記載されているモデルに対して、
learnerCoderConfigurer
が作成したコーダー コンフィギュアラーを使用します。モデル コーダー コンフィギュアラー オブジェクト マルチクラス分類用の二分決定木 ClassificationTreeCoderConfigurer
1 クラスおよびバイナリ分類用の SVM ClassificationSVMCoderConfigurer
バイナリ分類用の線形モデル ClassificationLinearCoderConfigurer
SVM モデルおよび線形モデル用のマルチクラス モデル ClassificationECOCCoderConfigurer
回帰用の二分決定木 RegressionTreeCoderConfigurer
サポート ベクター マシン (SVM) 回帰 RegressionSVMCoderConfigurer
線形回帰 RegressionLinearCoderConfigurer
機械学習モデルに学習をさせた後で、モデルのコーダー コンフィギュアラーを作成します。コンフィギュアラーのプロパティとオブジェクト関数を使用することにより、コード生成オプションを設定し、モデルの関数
predict
およびupdate
に対するコードを生成します。コーダー コンフィギュアラーを使用してコードを生成した場合、コードを再生成せずに、生成されたコードのモデル パラメーターを更新できます。詳細については、予測用のコード生成とコーダー コンフィギュアラーの使用による更新を参照してください。
拡張機能
バージョン履歴
R2019b で導入