Image Classifier
![](block_icon_image_classifier.png)
ライブラリ:
Deep Learning Toolbox /
Deep Neural Networks
説明
Image Classifier ブロックは、ブロック パラメーターで指定された学習済みネットワークを使用して、入力におけるデータのクラス ラベルを予測します。このブロックを使用すると、MAT ファイルまたは MATLAB® 関数から Simulink® モデルに事前学習済みのネットワークを読み込ませることができます。
制限
Image Classifier ブロックは、シーケンス ネットワークおよび多入力多出力 (MIMO) ネットワークをサポートしません。
Image Classifier ブロックは MAT ファイルのログ記録をサポートしません。
端子
入力
image — イメージ データまたは特徴データ
数値配列
h x w x c x N の数値配列。ここで、h、w、および c は、それぞれイメージの高さ、幅、およびチャネル数です。N はイメージの数です。
N 行 numFeatures
列の数値配列。ここで、N は観測値の数、numFeatures
は入力データの特徴の数です。
配列に NaN
が含まれる場合、ネットワーク全体に伝播されます。
出力
ypred — 予測クラス ラベル
列挙型
スコアが最も高い予測クラス ラベル。ラベルから成る N 行 1 列の列挙型ベクトルとして返されます。ここで、N は観測値の数です。
scores — 予測クラス スコア
行列
予測スコア。K 行 N 列の行列として返されます。ここで、K はクラスの数、N は観測値の数です。
labels — 予測スコアのクラス ラベル
行列
予測スコアに関連付けられたラベル。N 行 K 列の行列として返されます。ここで、N は観測値の数、K はクラスの数です。
パラメーター
ネットワーク — 学習済みネットワークの変換元
MAT ファイルからのネットワーク
(既定値) | MATLAB 関数からのネットワーク
学習済みネットワークの変換元を指定します。次のいずれかを選択します。
MAT ファイルからのネットワーク
—dlnetwork
オブジェクトを含む MAT ファイルから学習済みネットワークをインポートします。Network from MATLAB function
— MATLAB 関数から事前学習済みのネットワークをインポートします。たとえば、事前学習済みの GoogLeNet を使用するには、MATLAB の M ファイルに関数pretrainedGoogLeNet
を作成し、この関数をインポートします。function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
プログラムでの使用
ブロック パラメーター: Network |
タイプ: 文字ベクトル、string |
値: 'Network from MAT-file' | 'Network from MATLAB function' |
既定: 'Network from MAT-file' |
ファイル パス — 学習済みネットワークを含む MAT ファイル
untitled.mat
(既定値) | MAT ファイルのパスまたは名前
このパラメーターは、読み込もうとしている学習済み深層学習ネットワークを含む MAT ファイルの名前を指定します。ファイルが MATLAB のパス上にない場合は、[参照] ボタンを使用してファイルを探します。
依存関係
このパラメーターを有効にするには、[ネットワーク] パラメーターを [MAT ファイルからのネットワーク]
に設定します。
プログラムでの使用
ブロック パラメーター: NetworkFilePath |
タイプ: 文字ベクトル、string |
値: MAT ファイルのパスまたは名前 |
既定: 'untitled.mat' |
MATLAB 関数 — MATLAB 関数名
squeezenet
(既定値) | MATLAB 関数名
このパラメーターは、事前学習済みの深層学習ネットワークに関する MATLAB 関数の名前を指定します。たとえば、事前学習済みの GoogLeNet を使用するには、MATLAB の M ファイルに関数 pretrainedGoogLeNet
を作成し、この関数をインポートします。
function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
依存関係
このパラメーターを有効にするには、[ネットワーク] パラメーターを [MATLAB 関数からのネットワーク]
に設定します。
プログラムでの使用
ブロック パラメーター: NetworkFunction |
タイプ: 文字ベクトル、string |
値: MATLAB 関数名 |
既定: 'squeezenet' |
ミニバッチのサイズ — ミニバッチのサイズ
128 (既定値) | 正の整数
予測に使用するミニバッチのサイズ。正の整数として指定します。ミニバッチのサイズが大きくなるとより多くのメモリが必要になりますが、予測時間が短縮される可能性があります。
プログラムでの使用
ブロック パラメーター: MiniBatchSize |
タイプ: 文字ベクトル、string |
値: 正の整数 |
既定: '128' |
入力のサイズ変更 — 入力次元のサイズ変更
on
(既定値) | off
入力端子におけるデータのサイズをネットワークの入力サイズに変更します。
プログラムでの使用
ブロック パラメーター: ResizeInput |
タイプ: 文字ベクトル、string |
値: 'off' | 'on' |
既定値: 'on' |
分類 — スコアが最も高い予測ラベルの出力
on
(既定値) | off
スコアが最も高いラベルを出力する出力端子 ypred
を有効にします。
プログラムでの使用
ブロック パラメーター: Classification |
タイプ: 文字ベクトル、string |
値: 'off' | 'on' |
既定値: 'on' |
予測 — すべてのスコアおよび関連するラベルの出力
off
(既定値) | on
すべての予測スコアおよび関連するクラス ラベルを出力する出力端子 scores
および labels
を有効にします。
プログラムでの使用
ブロック パラメーター: Predictions |
タイプ: 文字ベクトル、string |
値: 'off' | 'on' |
既定: 'off' |
クラス名ワークスペース変数 — ネットワーク出力のクラス名が格納されたワークスペース変数
classNames
(既定値) | categorical ベクトル変数 | string 配列変数 | 文字ベクトル変数名の cell 配列
クラス名が格納された変数。categorical ベクトル、string 配列、または文字ベクトルの cell 配列として指定します。
ネットワークの出力サイズはクラスの数と一致しなければなりません。
依存関係
このパラメーターを有効にするには、[ネットワーク] パラメーターを [MAT ファイルからのネットワーク]
に設定して、学習済みの dlnetwork
オブジェクトを MAT ファイルからインポートします。
プログラムでの使用
ブロック パラメーター: classNames |
タイプ: categorical ベクトル、string 配列、または文字ベクトルの cell 配列の変数名。 |
値: クラス名が格納された変数の名前。categorical ベクトル、string 配列、または文字ベクトルの cell 配列として指定します。 |
既定値: ワークスペース変数 classNames 。 |
ヒント
Intel® MKL-DNN ライブラリを活用してコードを生成することで、シミュレーションを高速化できます。詳細については、Acceleration for Simulink Deep Learning Modelsを参照してください。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
サードパーティのライブラリに依存しない汎用の C コードを生成するには、[コンフィギュレーション パラメーター]、[コード生成] 全般カテゴリで、[言語] パラメーターを
[C]
に設定します。C++ コードを生成するには、[コンフィギュレーション パラメーター]、[コード生成] 全般カテゴリで、[言語] パラメーターを
[C++]
に設定します。コード生成用のターゲット ライブラリを指定するには、[コード生成]、[インターフェイス] カテゴリで、[ターゲット ライブラリ] パラメーターを設定します。このパラメーターを[なし]
に設定すると、サードパーティのライブラリに依存しない汎用の C++ コードが生成されます。ERT ベースのターゲットの場合、[コード生成]、[インターフェイス] ペインの [サポート: 可変サイズの信号] パラメーターを有効にしなければなりません。
コード生成でサポートされているネットワークと層の一覧については、コード生成でサポートされているネットワークとレイヤー (MATLAB Coder)を参照してください。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意および制限:
[コンフィギュレーション パラメーター]、[コード生成] 全般カテゴリの [言語] パラメーターを
[C++]
に設定しなければなりません。CUDA® コード生成でサポートされているネットワークと層の一覧については、サポートされるネットワーク、層、クラス (GPU Coder)を参照してください。
Image Classifier ブロックを含む Simulink モデルのコード生成に関する詳細については、ECG 信号を分類する深層学習 Simulink モデルのコード生成 (GPU Coder)を参照してください。
バージョン履歴
R2020b で導入R2024a: SeriesNetwork
および DAGNetwork
は非推奨
R2024a 以降、SeriesNetwork
オブジェクトおよび DAGNetwork
オブジェクトは非推奨となりました。この推奨により、SeriesNetwork
および DAGNetwork
の Image Classifier ブロックへの入力も非推奨となります。代わりに、dlnetwork
オブジェクトを使用してください。dlnetwork
オブジェクトには次の利点があります。
dlnetwork
オブジェクトは、ネットワークの構築、予測、組み込み学習、可視化、圧縮、検証、およびカスタム学習ループをサポートする統合されたデータ型です。dlnetwork
オブジェクトは、ユーザーが作成したり外部のプラットフォームからインポートしたりできる、さまざまなネットワーク アーキテクチャをサポートしています。関数
trainnet
はdlnetwork
オブジェクトをサポートしているため、損失関数を簡単に指定できます。組み込みの損失関数を選択するか、カスタム損失関数を指定できます。dlnetwork
オブジェクトを使用した学習と予測は、通常、LayerGraph
とtrainNetwork
を使用したワークフローよりも高速です。
dlnetwork
オブジェクトをもつ Simulink ブロック モデルは動作が異なります。予測スコアは K 行 N 列の行列として返されます。ここで、K はクラスの数、N は観測値の数です。SeriesNetwork
オブジェクトまたは DAGNetwork
オブジェクトをもつ既存の Simulink ブロック モデルがある場合、代わりに、次の手順に従って dlnetwork
オブジェクトを使用します。
関数
dag2dlnetwork
を使用して、SeriesNetwork
オブジェクトまたはDAGNetwork
オブジェクトをdlnetwork
に変換します。ブロック パラメーター [クラス名ワークスペース変数] に合わせて、ネットワーク出力のクラス名が格納されたワークスペース変数を定義します。
transpose ブロックを使用して、予測スコアを N 行 K 列の配列に転置します。ここで、N は観測値の数、K はクラスの数です。
参考
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)