Main Content

Stateful Classify

学習済み深層学習再帰型ニューラル ネットワークを使用したデータの分類

R2021a 以降

  • Stateful Classify block

ライブラリ:
Deep Learning Toolbox / Deep Neural Networks

説明

Stateful Classify ブロックは、ブロック パラメーターで指定された学習済み再帰型ニューラル ネットワークを使用して、入力におけるデータのクラス ラベルを予測します。このブロックを使用すると、MAT ファイルまたは MATLAB® 関数から Simulink® モデルに事前学習済みのネットワークを読み込ませることができます。このブロックは、予測のたびにネットワークの状態を更新します。

再帰型ニューラル ネットワークの状態を初期状態にリセットするには、Stateful Classify ブロックを Resettable Subsystem (Simulink) ブロック内に配置し、トリガーとして制御信号 Reset を使用します。

制限

  • dlnetwork オブジェクトを使用する Stateful Classify ブロックでは、Intel® の MKL-DNN ライブラリを使用した CPU 高速化、および NVIDIA® の CuDNN ライブラリまたは TensorRT ライブラリを使用した GPU 高速化はサポートされていません。

  • Stateful Classify ブロックは MAT ファイルのログ記録をサポートしていません。

端子

入力

すべて展開する

入力の形式は、データのタイプによって異なります。

入力説明
ベクトル シーケンスs 行 c 列の行列。ここで、s はシーケンス長、c はシーケンスの特徴の数です。
2 次元イメージ シーケンスh x w x c x s の配列。ここで、h、w、および c は、それぞれイメージの高さ、幅、およびチャネル数に対応します。s はシーケンス長です。

出力

すべて展開する

スコアが最も高い予測クラス ラベル。ラベルから成る N 行 1 列の列挙型ベクトルとして返されます。ここで、N は観測値の数です。

予測スコア。K 行 N 列の行列として返されます。ここで、K はクラスの数、N は観測値の数です。

予測スコアに関連付けられたラベル。N 行 K 列の行列として返されます。ここで、N は観測値の数、K はクラスの数です。

パラメーター

すべて展開する

学習済み再帰型ニューラル ネットワークのソースを指定します。この学習済みネットワークには、少なくとも 1 つの再帰層 (LSTM ネットワークなど) を含めなければなりません。次のいずれかを選択します。

  • Network from MAT-filedlnetwork オブジェクトを含む MAT ファイルから学習済みの再帰型ニューラル ネットワークをインポートします。

  • Network from MATLAB function— MATLAB 関数から事前学習済みの再帰型ニューラル ネットワークをインポートします。

プログラムでの使用

ブロック パラメーター: Network
タイプ: 文字ベクトル、string
値: 'Network from MAT-file' | 'Network from MATLAB function'
既定: 'Network from MAT-file'

このパラメーターは、読み込もうとしている学習済み再帰型ニューラル ネットワークを含む MAT ファイルの名前を指定します。ファイルが MATLAB のパス上にない場合は、[参照] ボタンを使用してファイルを探します。

依存関係

このパラメーターを有効にするには、[ネットワーク] パラメーターを [MAT ファイルからのネットワーク] に設定します。

プログラムでの使用

ブロック パラメーター: NetworkFilePath
タイプ: 文字ベクトル、string
値: MAT ファイルのパスまたは名前
既定: 'untitled.mat'

このパラメーターは、事前学習済みの再帰型ニューラル ネットワークに関する MATLAB 関数の名前を指定します。

依存関係

このパラメーターを有効にするには、[ネットワーク] パラメーターを [MATLAB 関数からのネットワーク] に設定します。

プログラムでの使用

ブロック パラメーター: NetworkFunction
タイプ: 文字ベクトル、string
値: MATLAB 関数名
既定: 'untitled'

[サンプル時間] パラメーターは、シミュレーション中にブロックが新しい出力値をいつ計算するかを指定します。詳細については、サンプル時間の指定 (Simulink)を参照してください。

出力に時間オフセットをもたせない場合は、[サンプル時間] パラメーターをスカラーとして指定します。出力に時間オフセットを追加するには、[サンプル時間] パラメーターを 12 列のベクトルとして指定します。ここで、最初の要素はサンプリング周期で、2 番目の要素はオフセットです。

既定では、[サンプル時間] パラメーターの値は -1 です (値を継承します)。

プログラムでの使用

ブロック パラメーター: SampleTime
タイプ: 文字ベクトル
値: スカラー | ベクトル
既定: '-1'

スコアが最も高いラベルを出力する出力端子 ypred を有効にします。

プログラムでの使用

ブロック パラメーター: Classification
タイプ: 文字ベクトル、string
値: 'off' | 'on'
既定値: 'on'

すべての予測スコアおよび関連するクラス ラベルを出力する出力端子 scores および labels を有効にします。

プログラムでの使用

ブロック パラメーター: Predictions
タイプ: 文字ベクトル、string
値: 'off' | 'on'
既定: 'off'

このパラメーターは、学習済みの dlnetwork に必要な入力データ形式を指定します。

データ形式。string スカラーまたは文字ベクトルとして指定します。文字列の各文字は、次のいずれかの次元ラベルでなければなりません。

  • "S" — 空間

  • "C" — チャネル

  • "B" — バッチ

  • "T" — 時間

  • "U" — 指定なし

たとえば、シーケンスのバッチを含み、1 番目、2 番目、および 3 番目の次元がそれぞれチャネル、観測値、およびタイム ステップに対応する配列の場合、"CBT" の形式で指定できます。

"S" または "U" のラベルが付いた次元については、複数回指定できます。"C""B""T" のラベルについては、1 回のみ使用できます。ソフトウェアは、2 番目の次元の後ろにある大きさが 1 の "U" 次元を無視します。

詳細については、Deep Learning Data Formatsを参照してください。

既定では、このパラメーターはネットワークが必要とするデータ形式を使用します。

依存関係

このパラメーターを有効にするには、[ネットワーク] パラメーターを [MAT ファイルからのネットワーク] に設定して、学習済みの dlnetwork オブジェクトを MAT ファイルからインポートします。

プログラムでの使用

ブロック パラメーター: InputDataFormats
タイプ: 文字ベクトル、string
値: 1 つ以上の入力をもつネットワークの場合は、{'inputlayerName1', 'SSC'; 'inputlayerName2', 'SSCB'; ...}' の形式の文字ベクトルを使用します。入力層がなく複数の入力端子をもつネットワークの場合は、'{'inputportName1/inport1, 'SSC'; 'inputportName2/inport2, 'SSCB'; ...}' の形式の文字ベクトルを使用します。
既定値: ネットワークが必要とするデータ形式。詳細については、Deep Learning Data Formatsを参照してください。

クラス名が格納された変数。categorical ベクトル、string 配列、または文字ベクトルの cell 配列として指定します。

ネットワークの出力サイズはクラスの数と一致しなければなりません。

依存関係

このパラメーターを有効にするには、[ネットワーク] パラメーターを [MAT ファイルからのネットワーク] に設定して、学習済みの dlnetwork オブジェクトを MAT ファイルからインポートします。

プログラムでの使用

ブロック パラメーター: classNames
タイプ: categorical ベクトル、string 配列、または文字ベクトルの cell 配列の変数名。
値: クラス名が格納された変数の名前。categorical ベクトル、string 配列、または文字ベクトルの cell 配列として指定します。
既定値: ワークスペース変数 classNames

拡張機能

バージョン履歴

R2021a で導入

すべて展開する