最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

コード生成

Statistics and Machine Learning Toolbox™ 関数に対する C/C++ コードおよび MEX 関数の生成

MATLAB® Coder™ は、コード生成をサポートする Statistics and Machine Learning Toolbox 関数から、読み取り可能および移植可能な C および C++ コードを生成します。たとえば、コード生成を使用して学習済みのサポート ベクター マシン (SVM) 分類モデルをデバイスにデプロイすることにより、MATLAB を実行できないハードウェア デバイスで新しい観測値を分類できます。

Statistics and Machine Learning Toolbox 関数に対する C/C++ コードは、いくつかの方法で生成できます。

  • 機械学習モデルのオブジェクト関数 (predictrandomknnsearch または rangesearch) に対するコード生成 — saveLearnerForCoderloadLearnerForCoder および codegen (MATLAB Coder) を使用します。saveLearnerForCoder を使用して、学習済みモデルを保存します。loadLearnerForCoder を使用して保存済みモデルを読み込んでオブジェクト関数を呼び出す、エントリポイント関数を定義します。次に、codegen (MATLAB Coder) を使用して、エントリポイント関数のコードを生成します。

  • ツリー モデル、SVM モデル、線形モデル、あるいは SVM または線形バイナリ学習器を使用するマルチクラス誤り訂正出力符号 (ECOC) 分類モデルの関数 predict および update に対するコード生成 — learnerCoderConfigurer を使用してコーダー コンフィギュアラーを作成してから、generateCode を使用してコードを生成します。生成した C/C++ コードのモデル パラメーターは、コードを再生成せずに更新できます。

  • コード生成をサポートする他の関数 — codegen (MATLAB Coder) を使用します。コード生成をサポートする関数を呼び出す、エントリポイント関数を定義します。次に、codegen を使用して、エントリポイント関数の C/C++ コードを生成します。

さらに、SVM モデル、決定木モデル、および決定木のアンサンブルの予測用に、固定小数点 C/C++ コードを生成することもできます。このタイプのコード生成には Fixed-Point Designer™ が必要です。

コード生成をサポートする関数の一覧については、関数リスト (C/C++ コード生成) を参照してください。

コード生成の詳細については、コード生成の紹介を参照してください。

関数

すべて展開する

saveLearnerForCoderモデル オブジェクトをコード生成用のファイルに保存
loadLearnerForCoder保存されたコード生成用モデルからのモデル オブジェクトの再構築
generateLearnerDataTypeFcn固定小数点コードの生成用のデータ型を定義する関数を生成

コーダー コンフィギュアラー オブジェクトの作成

learnerCoderConfigurer機械学習モデルのコーダー コンフィギュアラーの作成

コーダー コンフィギュアラー オブジェクトの処理

generateCodeコーダー コンフィギュアラーの使用による C/C++ コードの生成
generateFilesコーダー コンフィギュアラーを使用するコード生成用 MATLAB ファイルの生成
validatedUpdateInputs更新する機械学習モデルのパラメーターの検証および抽出
updateコード生成用にモデル パラメーターを更新

オブジェクト

すべて展開する

ClassificationTreeCoderConfigurerマルチクラス分類用の二分決定木モデルのコーダー コンフィギュアラー
ClassificationSVMCoderConfigurer1 クラスおよびバイナリ分類用のサポート ベクター マシン (SVM) のコーダー コンフィギュアラー
ClassificationLinearCoderConfigurer高次元データの線形バイナリ分類用のコーダー コンフィギュアラー
ClassificationECOCCoderConfigurerバイナリ学習器を使用するマルチクラス モデルのコーダー コンフィギュアラー
RegressionTreeCoderConfigurer回帰用の二分決定木モデルのコーダー コンフィギュアラー
RegressionSVMCoderConfigurerサポート ベクター マシン (SVM) 回帰モデルのコーダー コンフィギュアラー
RegressionLinearCoderConfigurer高次元データをもつ線形回帰モデル用のコーダー コンフィギュアラー

トピック

コード生成のワークフロー

コード生成の紹介

Statistics and Machine Learning Toolbox 関数に対する C/C++ コードを生成する方法を学ぶ。

一般的なコード生成のワークフロー

機械学習モデル オブジェクトを使用しない Statistics and Machine Learning Toolbox の関数に対するコードの生成。

機械学習モデルの予測をコマンド ラインで行うコードの生成

分類または回帰モデルの予測を行うためのコードをコマンド ラインで生成する。

機械学習モデルの予測を MATLAB Coder アプリを使用して行うコードの生成

MATLAB Coder アプリを使用して、分類または回帰モデルの予測を行うためのコードを生成する。

予測用のコード生成とコーダー コンフィギュアラーの使用による更新

コーダー コンフィギュアラーを使用して、モデルの予測を行うコードを生成する。生成されたコードのモデル パラメーターを更新する。

コード生成と分類学習器アプリ

分類学習器アプリを使用して分類モデルに学習をさせ、予測用の C/C++ コードを生成する。

最近傍探索モデルのコード生成

再近傍探索モデルを使用して最近傍を探索するためのコードを生成する。

コード生成用の可変サイズ引数の指定

実行時にサイズが変化する可能性がある入力引数を受け入れるコードを生成する。

カテゴリカル予測子による SVM 分類器の学習と C/C++ コードの生成

SVM 分類器をあてはめてコードを生成する前に、カテゴリカル予測子を数値ダミー変数に変換します。

SVM の予測用の固定小数点コード生成

SVM 分類モデルまたは SVM 回帰モデルを予測するために、固定小数点コードを生成します。

確率分布オブジェクトのコードの生成

確率分布オブジェクトを標本データにあてはめて、近似分布オブジェクトを評価するコードを生成します。

table の数値データを分類するためのコードの生成

二分決定木を使用して table の数値データを分類するためのコードを生成する。

コード生成の応用

MATLAB Function ブロックの使用によるクラスの予測

SVM モデルを使用してデータを分類する Simulink® モデルからコードを生成します。

分類およびコード生成用の System object

学習済みの分類モデルを使用して予測を行うためのコードを System object™ から生成し、System object を Simulink モデルで使用します。

Stateflow の使用によるクラス ラベルの予測

判別分析分類器を使用してデータを分類する Stateflow® モデルからコードを生成します。

注目の例