このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
コード生成
MATLAB® Coder™ は、コード生成をサポートする Statistics and Machine Learning Toolbox 関数から、読み取り可能および移植可能な C および C++ コードを生成します。たとえば、コード生成を使用して学習済みのサポート ベクター マシン (SVM) 分類モデルをデバイスに展開することにより、MATLAB を実行できないハードウェア デバイスで新しい観測値を分類できます。
これらの関数に対する C/C++ コードは、いくつかの方法で生成できます。
機械学習モデルのオブジェクト関数において、
saveLearnerForCoder
、loadLearnerForCoder
、およびcodegen
(MATLAB Coder) を使用します。機械学習モデルのオブジェクト関数
predict
およびupdate
に対するlearnerCoderConfigurer
によって作成されたコーダー コンフィギュアラーを使用します。コンフィギュアラーを使用してコード生成オプションを設定し、生成したコードのモデル パラメーターを更新します。コード生成をサポートする他の関数については、
codegen
を使用します。
一部の機械学習モデルの予測において固定小数点の C/C++ コードを生成することもできます。このタイプのコード生成には Fixed-Point Designer™ が必要です。
機械学習モデルの予測を Simulink® に統合するには、MATLAB Function ブロックを使用するか、Statistics and Machine Learning Toolbox ライブラリの Simulink ブロックを使用します。
コード生成の詳細については、コード生成の紹介を参照してください。
コード生成をサポートする関数の一覧については、関数リスト (C/C++ コード生成) を参照してください。
関数
オブジェクト
ブロック
トピック
コード生成のワークフロー
- コード生成の紹介
Statistics and Machine Learning Toolbox 関数に対する C/C++ コードを生成する方法を学ぶ。 - 一般的なコード生成のワークフロー
機械学習モデル オブジェクトを使用しない Statistics and Machine Learning Toolbox の関数に対するコードの生成。 - 機械学習モデルの予測をコマンド ラインで行うコードの生成
分類または回帰モデルの予測を行うためのコードをコマンド ラインで生成する。 - インクリメンタル学習用のコード生成
バイナリ線形分類用のインクリメンタル学習を実装するコードをコマンド ラインで生成する。 - 機械学習モデルの予測を MATLAB Coder アプリを使用して行うコードの生成
MATLAB Coder アプリを使用して、分類または回帰モデルの予測を行うためのコードを生成する。 - 予測用のコード生成とコーダー コンフィギュアラーの使用による更新
コーダー コンフィギュアラーを使用して、モデルの予測を行うコードを生成する。生成されたコードのモデル パラメーターを更新する。 - コード生成用の可変サイズ引数の指定
実行時にサイズが変化する可能性がある入力引数を受け入れるコードを生成する。 - table のデータを分類するためのコードの生成
数値変数とカテゴリカル変数を含む table のデータを分類するためのコードを生成する。 - カテゴリカル予測子用のダミー変数の作成と C/C++ コードの生成
SVM 分類器を当てはめてコードを生成する前に、カテゴリカル予測子を数値ダミー変数に変換します。 - SVM の予測用の固定小数点コード生成
SVM 分類モデルまたは SVM 回帰モデルを予測するために、固定小数点コードを生成します。 - コード生成と分類学習器アプリ
分類学習器アプリを使用して分類モデルに学習をさせ、予測用の C/C++ コードを生成する。 - 最近傍探索モデルのコード生成
再近傍探索モデルを使用して最近傍を探索するためのコードを生成する。 - 確率分布オブジェクトのコードの生成
確率分布オブジェクトを標本データにあてはめて、近似分布オブジェクトを評価するコードを生成します。 - 分類学習器で学習させたバイナリ GLM ロジスティック回帰モデルのコード生成
この例では、分類学習器を使用してバイナリ GLM ロジスティック回帰モデルに学習させ、エクスポートされた分類モデルを使用してラベルを予測する C コードを生成する方法を示します。 - 異常検出用のコード生成
学習済みの孤立森モデルまたは 1 クラス SVM を使用してデータ内の異常を検出する単精度のコードを生成する。
分類予測ブロックと回帰予測ブロック
- ClassificationSVM Predict ブロックの使用によるクラス ラベルの予測
この例では、ClassificationSVM Predictブロックを Simulink® のラベル予測に使用する方法を示します。 - ClassificationTree Predict ブロックの使用によるクラス ラベルの予測
分類学習器アプリを使用して分類決定木モデルの学習を行い、ClassificationTree Predict ブロックをラベル予測に使用する。 - ClassificationLinear Predict ブロックの使用によるクラス ラベルの予測
この例では、ClassificationLinear Predictブロックを Simulink® のラベル予測に使用する方法を示します。 (R2023a 以降) - ClassificationECOC Predict ブロックの使用によるクラス ラベルの予測
ECOC 分類モデルの学習を行い、ClassificationECOC Predict ブロックをラベル予測に使用する。 (R2023a 以降) - ClassificationEnsemble Predict ブロックの使用によるクラス ラベルの予測
最適なハイパーパラメーターでアンサンブル分類モデルの学習を行い、ClassificationEnsemble Predict ブロックをラベル予測に使用する。 - ClassificationNeuralNetwork Predict ブロックの使用によるクラス ラベルの予測
ニューラル ネットワーク分類モデルの学習を行い、ClassificationNeuralNetwork Predict ブロックをラベル予測に使用する。 - ClassificationKNN Predict ブロックの使用によるクラス ラベルの予測
最近傍分類モデルの学習を行い、 ClassificationKNN Predict ブロックをラベル予測に使用する。 - RegressionSVM Predict ブロックの使用による応答の予測
回帰学習器アプリを使用してサポート ベクター マシン (SVM) 回帰モデルの学習を行い、RegressionSVM Predict ブロックを応答予測に使用する。 - RegressionTree Predict ブロックの使用による応答の予測
この例では、RegressionTree Predictブロックを Simulink® の応答予測に使用する方法を示します。 - RegressionLinear Predict ブロックの使用による応答の予測
この例では、RegressionLinear Predictブロックを Simulink® の応答予測に使用する方法を示します。 (R2023a 以降) - RegressionEnsemble Predict ブロックの使用による応答の予測
最適なハイパーパラメーターでアンサンブル回帰モデルの学習を行い、RegressionEnsemble Predict ブロックを応答予測に使用する。 - RegressionNeuralNetwork Predict ブロックの使用による応答の予測
ニューラル ネットワーク回帰モデルの学習を行い、RegressionNeuralNetwork Predict ブロックを応答予測に使用する。 - RegressionGP Predict ブロックの使用による応答の予測
ガウス過程 (GP) 回帰モデルの学習を行い、RegressionGP Predict ブロックを応答予測に使用する。
コード生成の応用
- MATLAB Function ブロックの使用によるクラス ラベルの予測
SVM モデルを使用してデータを分類する Simulink モデルからコードを生成します。 - 分類およびコード生成用の System object
学習済みの分類モデルを使用して予測を行うためのコードを System object™ から生成し、System object を Simulink モデルで使用します。 - Stateflow の使用によるクラス ラベルの予測
判別分析分類器を使用してデータを分類する Stateflow® モデルからコードを生成します。 - 固定小数点展開用の行動認識 Simulink モデル
固定小数点展開用に準備された Simulink の分類モデルからコードを生成する。 - Identify Punch and Flex Hand Gestures Using Machine Learning Algorithm on Arduino Hardware (Simulink Support Package for Arduino Hardware)
This example shows how to use the Simulink® Support Package for Arduino® Hardware to identify punch and flex hand gestures using a machine learning algorithm. The example is deployed on an Arduino Nano 33 IoT hardware board that uses an onboard LSM6DS3 6DOF IMU sensor to identify the hand gestures. The output from the machine learning algorithm, after identifying whether a hand gesture is a punch or a flex, is transmitted to the serial port where 0 represents a punch and 1 represents a flex. - ニューラル ネットワーク回帰モデルの FPGA/ASIC プラットフォームへの展開
Simulink でニューラル ネットワーク回帰モデルを使用して予測を行い、その Simulink モデルを HDL コード生成を使用して FPGA/ASIC プラットフォームに展開する。