image3dInputLayer
3 次元イメージ入力層
説明
3 次元イメージ入力層は、ニューラル ネットワークに 3 次元イメージまたは 3 次元ボリュームを入力し、データ正規化を適用します。
2 次元イメージ入力の場合、imageInputLayer
を使用します。
作成
説明
は 3 次元イメージ入力層を返し、layer
= image3dInputLayer(inputSize
)InputSize
プロパティを指定します。
は、1 つ以上の名前と値の引数を使用して、オプションのプロパティを設定します。layer
= image3dInputLayer(inputSize
,Name=Value
)
プロパティ
3 次元イメージ入力
InputSize
— 入力のサイズ
整数の行ベクトル
入力データのサイズ。整数の行ベクトル [h w d c]
として指定します。ここで、h
、w
、d
、および c
はそれぞれ高さ、幅、深さ、およびチャネル数に対応します。
グレースケール入力の場合、
c
が1
に等しいベクトルを指定します。RGB 入力の場合、
c
が3
に等しいベクトルを指定します。マルチスペクトル入力またはハイパースペクトル入力の場合、
c
がチャネル数に等しいベクトルを指定します。
2 次元イメージ入力の場合、imageInputLayer
を使用します。
例: [132 132 116 3]
Normalization
— データ正規化
"zerocenter"
(既定値) | "zscore"
| "rescale-symmetric"
| "rescale-zero-one"
| "none"
| 関数ハンドル
データが入力層を通じて順伝播されるたびに適用するデータ正規化。次のいずれかに指定します。
"zerocenter"
—Mean
によって指定された平均を減算します。"zscore"
—Mean
によって指定された平均を減算し、StandardDeviation
で除算します。"rescale-symmetric"
—Min
およびMax
によってそれぞれ指定された最小値と最大値を使用して、範囲 [-1, 1] に入力を再スケーリングします。"rescale-zero-one"
—Min
およびMax
によってそれぞれ指定された最小値と最大値を使用して、範囲 [0, 1] に入力を再スケーリングします。"none"
— 入力データを正規化しません。関数ハンドル — 指定した関数を使用してデータを正規化します。関数は、
Y = f(X)
という形式でなければなりません。ここで、X
は入力データ、出力Y
は正規化データです。
この層は複素数値のデータをサポートします。 (R2024a 以降)複素数値のデータをネットワークに入力するには、Normalization
オプションが "zerocenter"
、"zscore"
、"none"
、または関数ハンドルでなければなりません。
ヒント
既定では、ソフトウェアは、関数 trainnet
の使用時に正規化統計量を自動的に計算します。学習時に時間を節約するため、正規化に必要な統計量を指定し、trainingOptions
で ResetInputNormalization
オプションを 0
(false
) に設定します。
Image3DInputLayer
オブジェクトは、このプロパティを文字ベクトルまたは関数ハンドルとして格納します。
NormalizationDimension
— 正規化の次元
"auto"
(既定値) | "channel"
| "element"
| "all"
正規化の次元。次のいずれかに指定します。
"auto"
– 学習オプションが0
(false
) の場合、いずれかの正規化統計量 (Mean
、StandardDeviation
、Min
、またはMax
) を指定し、統計量に一致する次元に対して正規化を行います。そうでない場合、学習時に統計量を再計算し、チャネル単位の正規化を適用します。"channel"
– チャネル単位の正規化。"element"
– 要素単位の正規化。"all"
– スカラーの統計量を使用してすべての値を正規化します。
Image3DInputLayer
オブジェクトは、このプロパティを文字ベクトルとして格納します。
Mean
— ゼロ中心正規化および z スコア正規化の平均
[]
(既定値) | 4 次元配列 | 数値スカラー
ゼロ中心正規化および z スコア正規化の平均。h×w×d×c の配列、チャネルごとの平均から成る 1×1×1×c の配列、数値スカラー、または []
として指定します。ここで、h、w、d、および c はそれぞれ平均の高さ、幅、深さ、およびチャネル数に対応します。
Mean
プロパティを指定するには、Normalization
プロパティが "zerocenter"
または "zscore"
でなければなりません。Mean
が []
の場合、学習時または初期化時にプロパティが自動的に設定されます。
関数
trainnet
は、学習データを使用して平均を計算し、結果の値を使用します。Initialize
オプションが1
(true
) の場合、関数initialize
および関数dlnetwork
は、プロパティを0
に設定します。
R2024a より前: このオプションは複素数値のデータをサポートしません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
複素数のサポート: あり
StandardDeviation
— z スコア正規化の標準偏差
[]
(既定値) | 4 次元配列 | 数値スカラー
z スコア正規化の標準偏差。h×w×d×c の配列、チャネルごとの平均から成る 1×1×1×c の配列、数値スカラー、または []
として指定します。ここで、h、w、d、および c はそれぞれ標準偏差の高さ、幅、深さ、およびチャネル数に対応します。
StandardDeviation
プロパティを指定するには、Normalization
プロパティが "zscore"
でなければなりません。StandardDeviation
が []
の場合、学習時または初期化時にプロパティが自動的に設定されます。
関数
trainnet
は、学習データを使用して標準偏差を計算し、結果の値を使用します。Initialize
オプションが1
(true
) の場合、関数initialize
および関数dlnetwork
は、プロパティを1
に設定します。
R2024a より前: このオプションは複素数値のデータをサポートしません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
複素数のサポート: あり
Min
— 再スケーリングの最小値
[]
(既定値) | 4 次元配列 | 数値スカラー
再スケーリングの最小値。h×w×d×c の配列、チャネルごとの最小値から成る 1×1×1×c の配列、数値スカラー、または []
として指定します。ここで、h、w、d、および c はそれぞれ最小値の高さ、幅、深さ、およびチャネル数に対応します。
Min
プロパティを指定するには、Normalization
が "rescale-symmetric"
または "rescale-zero-one"
でなければなりません。Min
が []
の場合、学習時または初期化時にプロパティが自動的に設定されます。
関数
trainnet
は、学習データを使用して最小値を計算し、結果の値を使用します。Initialize
オプションが1
(true
) の場合、関数initialize
および関数dlnetwork
は、Normalization
が"rescale-symmetric"
の場合はプロパティを-1
に設定し、"rescale-zero-one"
の場合はプロパティを0
に設定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Max
— 再スケーリングの最大値
[]
(既定値) | 4 次元配列 | 数値スカラー
再スケーリングの最大値。h×w×d×c の配列、チャネルごとの最大値から成る 1×1×1×c の配列、数値スカラー、または []
として指定します。ここで、h、w、d、および c はそれぞれ最大値の高さ、幅、深さ、およびチャネル数に対応します。
Max
プロパティを指定するには、Normalization
が "rescale-symmetric"
または "rescale-zero-one"
でなければなりません。Max
が []
の場合、学習時または初期化時にプロパティが自動的に設定されます。
関数
trainnet
は、学習データを使用して最大値を計算し、結果の値を使用します。Initialize
オプションが1
(true
) の場合、関数initialize
および関数dlnetwork
は、プロパティを1
に設定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
層
NumInputs
— 入力の数
0 (既定値)
この プロパティ は読み取り専用です。
層の入力の数。この層には入力がありません。
データ型: double
InputNames
— 入力名
{}
(既定値)
この プロパティ は読み取り専用です。
層の入力名。この層には入力がありません。
データ型: cell
NumOutputs
— 出力の数
1
(既定値)
この プロパティ は読み取り専用です。
層からの出力の数。1
として返されます。この層には単一の出力のみがあります。
データ型: double
OutputNames
— 出力名
{'out'}
(既定値)
この プロパティ は読み取り専用です。
出力名。{'out'}
として返されます。この層には単一の出力のみがあります。
データ型: cell
例
3 次元イメージ入力層の作成
132×132×116 の 3 次元カラー イメージに対し、3 次元イメージ入力層を作成します。
layer = image3dInputLayer([132 132 116])
layer = Image3DInputLayer with properties: Name: '' InputSize: [132 132 116 1] Hyperparameters Normalization: 'zerocenter' NormalizationDimension: 'auto' Mean: []
3 次元イメージ入力層を Layer
配列に含めます。
layers = [ image3dInputLayer([28 28 28 3]) convolution3dLayer(5,16,Stride=4) reluLayer maxPooling3dLayer(2,Stride=4) fullyConnectedLayer(10) softmaxLayer]
layers = 6x1 Layer array with layers: 1 '' 3-D Image Input 28x28x28x3 images with 'zerocenter' normalization 2 '' 3-D Convolution 16 5x5x5 convolutions with stride [4 4 4] and padding [0 0 0; 0 0 0] 3 '' ReLU ReLU 4 '' 3-D Max Pooling 2x2x2 max pooling with stride [4 4 4] and padding [0 0 0; 0 0 0] 5 '' Fully Connected 10 fully connected layer 6 '' Softmax softmax
アルゴリズム
層の出力形式
層配列内または層グラフ内の層は、形式を整えた dlarray
オブジェクトとして後続の層にデータを渡します。dlarray
オブジェクトの形式は文字列で、各文字はデータ内の対応する次元を表します。この形式には次の文字が 1 つ以上含まれています。
"S"
— 空間"C"
— チャネル"B"
— バッチ"T"
— 時間"U"
— 指定なし
たとえば、4 次元配列として表された 2 次元イメージ データがあり、最初の 2 つの次元がイメージの空間次元に対応し、3 番目の次元がイメージのチャネルに対応し、4 番目の次元がバッチ次元に対応している場合、このイメージ データは "SSCB"
(空間、空間、チャネル、バッチ) という形式で表されます。
ネットワークの入力層は、ネットワークで必要とされるデータのレイアウトを指定します。データのレイアウトが異なる場合、InputDataFormats
学習オプションを使用してレイアウトを指定します。
この層は、h×w×d×c×N の配列をネットワークに入力します。ここで、h、w、d、および c は、それぞれイメージの高さ、幅、深さ、およびチャネル数です。N はイメージの数です。このレイアウトのデータは、"SSSCB"
(spatial、spatial、spatial、channel、batch) のデータ形式になります。
複素数
Image3DInputLayer
オブジェクトは、後続の層への複素数値データの受け渡しをサポートします。 (R2024a 以降)
入力データが複素数値の場合、Normalization
オプションは、"zerocenter"
、"zscore"
、"none"
、または関数ハンドルでなければなりません。層の Mean
プロパティおよび StandardDeviation
プロパティでは、正規化オプション "zerocenter"
および "zscore"
に複素数値のデータを使用することもできます。
複素数値のデータをもつネットワークに学習させる方法を説明する例については、複素数値データを使用したネットワークの学習を参照してください。
バージョン履歴
R2019a で導入R2024a: 複素数値の出力
ニューラル ネットワークへの入力が複素数値の場合、層は複素数値のデータを後続の層に渡します。
入力データが複素数値の場合、Normalization
オプションは、"zerocenter"
、"zscore"
、"none"
、または関数ハンドルでなければなりません。層の Mean
プロパティおよび StandardDeviation
プロパティでは、正規化オプション "zerocenter"
および "zscore"
に複素数値のデータを使用することもできます。
R2019b: AverageImage
プロパティは削除予定
AverageImage
は削除される予定です。代わりに Mean
を使用してください。コードを更新するには、AverageImage
のすべてのインスタンスを Mean
に置き換えます。プロパティの間に違いがない場合は、コードをさらに更新する必要があります。
R2019b: imageInputLayer
および image3dInputLayer
は既定でチャネル単位の正規化を使用
R2019b 以降では、imageInputLayer
および image3dInputLayer
は既定でチャネル単位の正規化を使用します。以前のバージョンでは、これらの層は要素単位の正規化を使用します。この動作を再現するには、これらの層の NormalizationDimension
オプションを 'element'
に設定します。
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)