image3dInputLayer
3 次元イメージ入力層
説明
3 次元イメージ入力層は、ニューラル ネットワークに 3 次元イメージまたは 3 次元ボリュームを入力し、データ正規化を適用します。
2 次元イメージ入力の場合、imageInputLayer を使用します。
作成
説明
は、1 つ以上の名前と値の引数を使用して、オプションのプロパティを設定します。layer = image3dInputLayer(inputSize,Name=Value)
入力引数
入力データのサイズ。整数の行ベクトル [h w d c] として指定します。ここで、h、w、d、および c はそれぞれ高さ、幅、深さ、およびチャネル数に対応します。
グレースケール入力の場合、
cが1に等しいベクトルを指定します。RGB 入力の場合、
cが3に等しいベクトルを指定します。マルチスペクトル入力またはハイパースペクトル入力の場合、
cがチャネル数に等しいベクトルを指定します。
2 次元イメージ入力の場合、imageInputLayer を使用します。
例: [132 132 116 3]
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: image3dInputLayer([132 132 116 3],Name="input") は、'input' という名前の 132×132×116 の 3 次元カラー イメージに対し、3 次元イメージ入力層を作成します。
データが入力層を通じて順伝播されるたびに適用するデータ正規化。次のいずれかに指定します。
"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 オブジェクトは、Normalization プロパティを文字ベクトルまたは関数ハンドルとして格納します。
正規化の次元。次のいずれかに指定します。
"auto"–ResetInputNormalization学習オプションが0(false) の場合、いずれかの正規化統計量 (Mean、StandardDeviation、Min、またはMax) を指定し、統計量に一致する次元に対して正規化を行います。そうでない場合、学習時に統計量を再計算し、チャネル単位の正規化を適用します。"channel"– チャネル単位の正規化。"element"– 要素単位の正規化。"all"– スカラーの統計量を使用してすべての値を正規化します。
Image3DInputLayer オブジェクトは、NormalizationDimension プロパティを文字ベクトルとして格納します。
ゼロ中心正規化および 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
複素数のサポート: あり
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
複素数のサポート: あり
再スケーリングの最小値。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
再スケーリングの最大値。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
プロパティ
3 次元イメージ入力
入力データのサイズ。整数の行ベクトル [h w d c] として指定します。ここで、h、w、d、および c はそれぞれ高さ、幅、深さ、およびチャネル数に対応します。
グレースケール入力の場合、
cが1に等しいベクトルを指定します。RGB 入力の場合、
cが3に等しいベクトルを指定します。マルチスペクトル入力またはハイパースペクトル入力の場合、
cがチャネル数に等しいベクトルを指定します。
2 次元イメージ入力の場合、imageInputLayer を使用します。
例: [132 132 116 3]
データが入力層を通じて順伝播されるたびに適用するデータ正規化。次のいずれかに指定します。
"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 オブジェクトは、このプロパティを文字ベクトルまたは関数ハンドルとして格納します。
正規化の次元。次のいずれかに指定します。
"auto"–ResetInputNormalization学習オプションが0(false) の場合、いずれかの正規化統計量 (Mean、StandardDeviation、Min、またはMax) を指定し、統計量に一致する次元に対して正規化を行います。そうでない場合、学習時に統計量を再計算し、チャネル単位の正規化を適用します。"channel"– チャネル単位の正規化。"element"– 要素単位の正規化。"all"– スカラーの統計量を使用してすべての値を正規化します。
Image3DInputLayer オブジェクトは、このプロパティを文字ベクトルとして格納します。
ゼロ中心正規化および 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
複素数のサポート: あり
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
複素数のサポート: あり
再スケーリングの最小値。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
再スケーリングの最大値。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
層
この プロパティ は読み取り専用です。
層の入力の数。この層には入力がありません。
データ型: double
この プロパティ は読み取り専用です。
層の入力名。この層には入力がありません。
データ型: cell
この プロパティ は読み取り専用です。
層からの出力の数。1 として格納されます。この層には単一の出力のみがあります。
データ型: double
この プロパティ は読み取り専用です。
出力名。{'out'} として格納されます。この層には単一の出力のみがあります。
データ型: cell
例
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 =
6×1 Layer array with layers:
1 '' 3-D Image Input 28×28×28×3 images with 'zerocenter' normalization
2 '' 3-D Convolution 16 5×5×5 convolutions with stride [4 4 4] and padding [0 0 0; 0 0 0]
3 '' ReLU ReLU
4 '' 3-D Max Pooling 2×2×2 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 で導入ニューラル ネットワークへの入力が複素数値の場合、層は複素数値のデータを後続の層に渡します。
入力データが複素数値の場合、Normalization オプションは、"zerocenter"、"zscore"、"none"、または関数ハンドルでなければなりません。層の Mean プロパティおよび StandardDeviation プロパティでは、正規化オプション "zerocenter" および "zscore" に複素数値のデータを使用することもできます。
AverageImage は削除される予定です。代わりに Mean を使用してください。コードを更新するには、AverageImage のすべてのインスタンスを Mean に置き換えます。プロパティの間に違いがない場合は、コードをさらに更新する必要があります。
R2019b 以降では、imageInputLayer および image3dInputLayer は既定でチャネル単位の正規化を使用します。以前のバージョンでは、これらの層は要素単位の正規化を使用します。この動作を再現するには、これらの層の NormalizationDimension オプションを 'element' に設定します。
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)