Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Predict

学習済み深層学習ニューラル ネットワークを使用した応答の予測

R2020b 以降

  • Predict block

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

説明

Predict ブロックは、ブロック パラメーターで指定された学習済みネットワークを使用して、入力におけるデータの応答を予測します。このブロックを使用すると、MAT ファイルまたは MATLAB® 関数から Simulink® モデルに事前学習済みのネットワークを読み込ませることができます。

メモ

Predict ブロックを使用して Simulink で予測を行います。MATLAB コードを使用してプログラムで予測を行うには、関数 classify および predict を使用します。

端子

入力

すべて展開する

Predict ブロックの入力端子は、読み込まれたネットワークの入力層の名前を取ります。たとえば、MATLAB function 用の googlenet を指定した場合、Predict ブロックの入力端子には data というラベルが付けられます。予測ブロックへの入力には、読み込まれたネットワークに応じて、イメージ、シーケンス、または時系列データを使用できます。

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

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

配列に NaN が含まれる場合、ネットワーク全体に伝播されます。

出力

すべて展開する

Predict ブロックの出力端子は、読み込まれたネットワークの出力層の名前を取ります。たとえば、MATLAB function 用の googlenet を指定した場合、Predict ブロックの出力端子には output というラベルが付けられます。Predict の出力は、読み込まれたネットワークに応じて、予測スコアまたは応答を表すことができます。

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

ネットワーク層の Activations を有効にした場合、Predict ブロックは、選択したネットワーク層の名前をもつ新しい出力端子を作成します。この端子は、選択したネットワーク層からのアクティベーションを出力します。

ネットワーク層からのアクティベーションは、数値配列として返されます。出力の形式は、入力データのタイプおよび層出力のタイプによって異なります。

2 次元イメージ出力の場合、アクティベーションは h×w×c×n の配列になります。ここで、h、w、および c はそれぞれ選択した層の出力の高さ、幅、およびチャネル数、n はイメージの数です。

ベクトル データを含む単一のタイム ステップの場合、アクティベーションは c 行 n 列の行列になります。ここで、n はシーケンスの数、c はシーケンスの特徴の数です。

2 次元イメージ データを含む単一のタイム ステップの場合、アクティベーションは h×w×c×n の配列になります。ここで、n はシーケンスの数、h、w、および c はそれぞれイメージの高さ、幅、およびチャネル数です。

パラメーター

すべて展開する

学習済みネットワークの変換元を指定します。次のいずれかを選択します。

  • Network from MAT-fileSeriesNetwork オブジェクト、DAGNetwork オブジェクト、または dlnetwork オブジェクトを含む MAT ファイルから学習済みネットワークをインポートします。

  • Network from MATLAB function— MATLAB 関数から事前学習済みのネットワークをインポートします。たとえば、関数 googlenet を使用した場合です。

プログラムでの使用

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

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

依存関係

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

プログラムでの使用

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

このパラメーターは、事前学習済みの深層学習ネットワークに関する MATLAB 関数の名前を指定します。たとえば、関数 googlenet を使用して事前学習済みの GoogLeNet モデルをインポートします。

依存関係

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

プログラムでの使用

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

予測に使用するミニバッチのサイズ。正の整数として指定します。ミニバッチのサイズが大きくなるとより多くのメモリが必要になりますが、予測時間が短縮される可能性があります。

プログラムでの使用

ブロック パラメーター: MiniBatchSize
タイプ: 文字ベクトル、string
値: 正の整数
既定: '128'

予測スコアまたは応答を返す出力端子を有効にします。

プログラムでの使用

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

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

データの形式は文字列で、各文字はデータ内の対応する次元のタイプを表します。たとえば、シーケンスのバッチを含み、1 番目、2 番目、および 3 番目の次元がそれぞれチャネル、観測値、およびタイム ステップに対応する配列の場合、"CBT" の形式で指定できます。詳細については、Deep Learning Data Formatsを参照してください。

依存関係

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

プログラムでの使用

ブロック パラメーター: InputDataFormats
タイプ: 文字ベクトル、string
値: 1 つ以上の入力をもつネットワークの場合は、{'inputlayerName1', 'SSC'; 'inputlayerName2', 'SSCB'; ...}' の形式の文字ベクトルを使用します。入力層がなく複数の入力端子をもつネットワークの場合は、'{'inputportName1/inport1, 'SSC'; 'inputportName2/inport2, 'SSCB'; ...}' の形式の文字ベクトルを使用します。
既定値: ''

[アクティベーション] リストを使用して、特徴を抽出する層を選択します。選択した層は、Predict ブロックの出力端子として現れます。

プログラムでの使用

ブロック パラメーター: Activations
タイプ: 文字ベクトル、string
値: '{'layerName1',layerName2',...}' の形式の文字ベクトル
既定: ''

拡張機能

バージョン履歴

R2020b で導入