主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

コ,ド生成の紹介

MATLAB®编码器™は,コード生成をサポートする统计和机器学习工具箱™関数から,読み取り可能および移植可能なCおよびc++コードを生成します。生成されたコードは,ソースコード,スタティックライブラリ,またはダイナミックライブラリとしてプロジェクトに統合できます。また,生成されたコードをMATLAB環境内で使用して,MATLABコードの計算負荷が高い部分を高速化することもできます。

C/ c++コ,ドの生成にはMATLAB编码器が必要です。以下の制限があります。

  • codegen(MATLAB编码器)を使用してコ,ドを生成するときに,最上位レベルにある関数を呼び出すことはできません。代わりに,“エントリポント”関数内で対象の関数を呼び出した後で,エントリポ。エントリポント関数は,コド生成用に定義する関数で,“最上位”関数または"プラ电子邮箱マリ"関数とも呼ばれます。エントリポント関数内のすべての関数がコド生成をサポトしなければなりません。

  • コド生成にいてのMATLAB编码器の制限は统计和机器学习工具箱にも適用されます。詳細にいては,C/ c++コ,ド生成でサポ,トされているmatlab言語機能(MATLAB编码器)を参照してください。

  • 统计和机器学习工具箱におけるコード生成では,スパース行列はサポートされません。

  • 各関数のコード生成に関する使用上の注意および制限については,関数のリファレンスページの”コード生成“セクションを参照してください。

コード生成をサポートする统计和机器学习工具箱関数の一覧については,関数リスト(c / c++コド生成)を参照してください。

コド生成のワクフロ

统计和机器学习工具箱関数に対するC / c++コードは,いくつかの方法で生成できます。

  • 機械学習モデルのオブジェクト関数以外の関数の一般的なコド生成ワクフロ

    コド生成をサポトする関数を呼び出す“エントリポント”関数を定義し,codegen(MATLAB编码器)を使用してエントリポc / c++コドを生成して,生成されたコドを確認します。エントリポント関数は,コド生成用に定義する関数で,“最上位”関数または"プラ电子邮箱マリ"関数とも呼ばれます。codegenを使用して最上位レベルにある関数を呼び出すことはできないので,エントリポイント関数を定義しなければなりません。エントリポント関数内のすべての関数がコド生成をサポトしなければなりません。

    詳細にいては,一般的なコド生成のワクフロを参照してください。

  • 機械学習モデルのオブジェクト関数(预测随机knnsearchrangesearch

    saveLearnerForCoderを使用して,学習済みモデルを保存します。loadLearnerForCoderを使用して保存済みモデルを読み込んでオブジェクト関数を呼び出す,エントリポ。次に,codegen(MATLAB编码器)を使用してエントリポント関数のコドを生成し,生成されたコドを確認します。エントリポesc escント関数の入力引数として,分類または回帰モデルオブジェクトは使用できません。したがって,saveLearnerForCoderloadLearnerForCoderを使用してこの制限に対処する必要があります。

    分類および回帰の機械学習モデルの予測用に,単精度c / c++コ,ドを生成することもできます。単精度コ,ド生成では,関数loadLearnerForCoderへの追加の入力として,名前と値のペアの引数“数据类型”、“单”を指定します。

    詳細にいては,以下の例を参照してください。

    さらに,サポートベクターマシン(SVM)モデル,決定木モデル,分類および回帰のための決定木のアンサンブルの予測用に,固定小数点C / c++コードを生成することもできます。このタプのコド生成には定点设计器™が必要です。

    固定小数点コ,ドの生成には,予測に必要な変数の固定小数点デ,タ型を定義する追加の手順が必要です。generateLearnerDataTypeFcnによって生成されるデータ型関数を使用して固定小数点データ型構造体を作成し,その構造体をエントリポイント関数でloadLearnerForCoderの入力引数として使用します。コ,ドを生成する前に固定小数点デ,タ型を最適化することもできます。

    詳細にいては,支持向量机の予測用の固定小数点コ,ド生成を参照してください。

  • ツリーモデル,SVMモデル,線形モデル,もしくはSVM学習器または線形バイナリ学習器を使用するマルチクラス誤り訂正出力符号(ECOC)分類モデルの関数预测および関数更新に対するコド生成ワクフロ

    learnerCoderConfigurerを使用してコ,ダ,コンフィギュアラ,を作成し,generateCodeを使用してコ,ドを生成して,生成されたコ,ドを確認します。コ,ド生成オプションを設定し、オブジェクトのプロパティを使用してモデル パラメーターのコーダー属性を指定できます。新しいデータまたは設定でモデルに再学習をさせた後で、コードを再生成せずに、生成された C/C++ コードのモデル パラメーターを更新できます。この機能により、C/C++ コードの再生成、再展開および再確認に必要な作業が不要になります。

    詳細にいては,予測用のコ,ド生成とコ,ダ,コンフィギュアラ,の使用による更新を参照してください。

コ,ド生成の応用

機械学習モデルの予測をS金宝appimulink®に統合するには,MATLAB函数ブロックを使用するか,统计和机器学习工具箱ライブラリの仿真软件ブロックを使用します。金宝app詳細にいては,以下の例を参照してください。

以下の例で説明されているように,统计和机器学习工具箱の関数に対するコード生成は,系统对象™やStateflow®など,他のルボックスとも連携します。

コド生成の応用の詳細にいては,以下の例を参照してください。

参考

(MATLAB编码器)||||

関連するトピック