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が作成したコーダー コンフィギュアラーを使用します。モデル コーダー コンフィギュアラー オブジェクト マルチクラス分類用の二分決定木 ClassificationTreeCoderConfigurer1 クラスおよびバイナリ分類用の SVM ClassificationSVMCoderConfigurerバイナリ分類用の線形モデル ClassificationLinearCoderConfigurerSVM モデルおよび線形モデル用のマルチクラス モデル ClassificationECOCCoderConfigurer回帰用の二分決定木 RegressionTreeCoderConfigurerサポート ベクター マシン (SVM) 回帰 RegressionSVMCoderConfigurer線形回帰 RegressionLinearCoderConfigurer機械学習モデルに学習をさせた後で、モデルのコーダー コンフィギュアラーを作成します。コンフィギュアラーのプロパティとオブジェクト関数を使用することにより、コード生成オプションを設定し、モデルの関数
predictおよびupdateに対するコードを生成します。コーダー コンフィギュアラーを使用してコードを生成した場合、コードを再生成せずに、生成されたコードのモデル パラメーターを更新できます。詳細については、予測用のコード生成とコーダー コンフィギュアラーの使用による更新を参照してください。
拡張機能
バージョン履歴
R2019b で導入