このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Image Classifier
学習済み深層学習ニューラル ネットワークを使用したデータの分類

ライブラリ:
Deep Learning Toolbox /
Deep Neural Networks
説明
Image Classifier ブロックは、ブロック パラメーターで指定された学習済みネットワークを使用して、入力におけるデータのクラス ラベルを予測します。このブロックを使用すると、MAT ファイルまたは MATLAB® 関数から Simulink® モデルに事前学習済みのネットワークを読み込ませることができます。
例
GoogLeNet を使用した Simulink でのイメージの分類
この例では、Image Classifier
ブロックを使用して、Simulink® でイメージを分類する方法を説明します。この例では、事前学習済みの深層畳み込みニューラル ネットワーク GoogLeNet を使用して分類を実行します。
深層学習を使用した Simulink での ECG 信号の分類
この例では、Simulink (R) モデル内でウェーブレット変換と深層学習ネットワークを使用して ECG 信号を分類する方法を示します。この例では、Wavelet Toolbox™ の "ウェーブレット解析と深層学習を使用した時系列の分類" の例にある事前学習済みの畳み込みニューラル ネットワークを使用して、時系列データの CWT からのイメージを基に ECG 信号を分類します。学習の詳細については、ウェーブレット解析と深層学習を使用した時系列の分類 (Wavelet Toolbox)を参照してください。
制限
Image Classifier ブロックは、シーケンス ネットワークおよび多入力多出力 (MIMO) ネットワークをサポートしません。
Image Classifier ブロックは、MAT ファイルのログ記録をサポートしていません。
端子
入力
h x w x c x N の数値配列。ここで、h、w、および c は、それぞれイメージの高さ、幅、およびチャネル数です。N はイメージの数です。
N 行 numFeatures
列の数値配列。ここで、N は観測値の数、numFeatures
は入力データの特徴の数です。
配列に NaN
が含まれる場合、ネットワーク全体に伝播されます。
出力
スコアが最も高い予測クラス ラベル。ラベルから成る N 行 1 列の列挙型ベクトルとして返されます。ここで、N は観測値の数です。
予測スコア。K 行 N 列の行列として返されます。ここで、K はクラスの数、N は観測値の数です。
予測スコアに関連付けられたラベル。N 行 K 列の行列として返されます。ここで、N は観測値の数、K はクラスの数です。
パラメーター
学習済みネットワークの変換元を指定します。次のいずれかを選択します。
MAT ファイルからのネットワーク
—dlnetwork
オブジェクトを含む MAT ファイルから学習済みネットワークをインポートします。MATLAB 関数からのネットワーク
— 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 ファイルの名前を指定します。ファイルが MATLAB のパス上にない場合は、[参照] ボタンを使用してファイルを探します。
依存関係
このパラメーターを有効にするには、[ネットワーク] パラメーターを [MAT ファイルからのネットワーク]
に設定します。
プログラムでの使用
ブロック パラメーター: NetworkFilePath |
タイプ: 文字ベクトル、string |
値: MAT ファイルのパスまたは名前 |
既定: 'untitled.mat'
|
このパラメーターは、事前学習済みの深層学習ネットワークに関する MATLAB 関数の名前を指定します。たとえば、事前学習済みの GoogLeNet を使用するには、MATLAB の M ファイルに関数 pretrainedGoogLeNet
を作成し、この関数をインポートします。
function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
依存関係
このパラメーターを有効にするには、[ネットワーク] パラメーターを [MATLAB 関数からのネットワーク]
に設定します。
プログラムでの使用
ブロック パラメーター: NetworkFunction |
タイプ: 文字ベクトル、string |
値: MATLAB 関数名 |
既定: 'squeezenet' |
予測に使用するミニバッチのサイズ。正の整数として指定します。ミニバッチのサイズが大きくなるとより多くのメモリが必要になりますが、予測時間が短縮される可能性があります。
プログラムでの使用
ブロック パラメーター: MiniBatchSize |
タイプ: 文字ベクトル、string |
値: 正の整数 |
既定: '128' |
入力端子におけるデータのサイズをネットワークの入力サイズに変更します。
プログラムでの使用
ブロック パラメーター: ResizeInput |
タイプ: 文字ベクトル、string |
値: 'off' | 'on' |
既定: 'on' |
スコアが最も高いラベルを出力する出力端子 ypred
を有効にします。
プログラムでの使用
ブロック パラメーター: Classification |
タイプ: 文字ベクトル、string |
値: 'off' | 'on' |
既定: 'on' |
すべての予測スコアおよび関連するクラス ラベルを出力する出力端子 scores
および labels
を有効にします。
プログラムでの使用
ブロック パラメーター: Predictions |
タイプ: 文字ベクトル、string |
値: 'off' | 'on' |
既定: 'off' |
クラス名が格納された変数。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]
に設定します。C++ コードを生成するには、[コンフィギュレーション パラメーター]、[コード生成] 全般カテゴリで、[言語] パラメーターを
[C++]
に設定します。コード生成用のターゲット ライブラリを指定するには、[コード生成]、[インターフェイス] カテゴリで、[ターゲット ライブラリ] パラメーターを設定します。このパラメーターを[なし]
に設定すると、サードパーティのライブラリに依存しない汎用の C++ コードが生成されます。コード生成でサポートされているネットワークと層の一覧については、コード生成でサポートされているネットワークとレイヤー (MATLAB Coder)を参照してください。
使用上の注意および制限:
[コンフィギュレーション パラメーター]、[コード生成] 全般カテゴリの [言語] パラメーターを
[C++]
に設定しなければなりません。CUDA® コード生成でサポートされているネットワークと層の一覧については、サポートされるネットワーク、層、クラス (GPU Coder)を参照してください。
Image Classifier ブロックを含む Simulink モデルのコード生成に関する詳細については、ECG 信号を分類する深層学習 Simulink モデルのコード生成 (GPU Coder)を参照してください。
バージョン履歴
R2020b で導入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 Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)