メインコンテンツ

image3dInputLayer

3 次元イメージ入力層

説明

3 次元イメージ入力層は、ニューラル ネットワークに 3 次元イメージまたは 3 次元ボリュームを入力し、データ正規化を適用します。

2 次元イメージ入力の場合、imageInputLayer を使用します。

作成

説明

layer = image3dInputLayer(inputSize) は 3 次元イメージ入力層を返し、InputSize プロパティを指定します。

layer = image3dInputLayer(inputSize,Name=Value) は、1 つ以上の名前と値の引数を使用して追加オプションを設定します。

入力引数

すべて展開する

入力データのサイズ。整数の行ベクトル [h w d c] として指定します。ここで、hwd、および c はそれぞれ高さ、幅、深さ、およびチャネル数に対応します。

  • グレースケール入力の場合、c1 に等しいベクトルを指定します。

  • RGB 入力の場合、c3 に等しいベクトルを指定します。

  • マルチスペクトル入力またはハイパースペクトル入力の場合、c がチャネル数に等しいベクトルを指定します。

2 次元イメージ入力の場合、imageInputLayer を使用します。

この引数は InputSize プロパティを設定します。

例: [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 は正規化データです。

入力データが複素数値で、SplitComplexInputs プロパティが 0 (false) の場合、Normalization プロパティは、"zerocenter""zscore""none"、または関数ハンドルでなければなりません。 (R2024a 以降)

R2024a より前: 複素数値のデータをネットワークに入力するには、SplitComplexInputs プロパティが 1 (true) でなければなりません。

ヒント

既定では、ソフトウェアは、関数 trainnet の使用時に正規化統計量を自動的に計算します。学習時に時間を節約するため、正規化に必要な統計量を指定し、trainingOptions 関数の ResetInputNormalization 引数を 0 (false) に設定します。

この引数は Normalization プロパティを設定します。

データ型: char | string | function_handle

正規化の次元。次のいずれかの値として指定します。

  • "auto"ResetInputNormalization 学習オプションが 0 (false) の場合、いずれかの正規化統計量 (MeanStandardDeviationMin、または Max) を指定し、統計量に一致する次元に対して正規化を行います。そうでない場合、学習時に統計量を再計算し、チャネル単位の正規化を適用します。

  • "channel" — チャネル単位の正規化。

  • "element" — 要素単位の正規化。

  • "all" — スカラーの統計量を使用してすべての値を正規化します。

この引数は NormalizationDimension プロパティを設定します。

ゼロ中心正規化および z スコア正規化の平均。h×w×d×c の配列、チャネルごとの平均から成る 1×1×1×c の配列、数値スカラー、または [] として指定します。ここで、hwd、および c はそれぞれ平均の高さ、幅、深さ、およびチャネル数に対応します。

Mean プロパティを指定するには、Normalization プロパティ値が "zerocenter" または "zscore" でなければなりません。

Mean[] である場合、ソフトウェアは初期化時にプロパティ値を更新します。

  • initialize 関数は、プロパティ値を 0 に設定します。

  • dlnetwork 関数を使用しており、名前と値の引数 Initialize の値が 1 (true) である場合、ソフトウェアはプロパティ値を 0 に設定します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 1 (true) である場合、ソフトウェアは学習データを使用して平均を計算し、結果の値を使用します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 0 (false) である場合、ソフトウェアはプロパティ値を 0 に設定します。

Mean に複素数値を使用できます (R2024a 以降)Mean が複素数値の場合、SplitComplexInputs プロパティ値は 0 (false) でなければなりません。

R2024a より前: 平均を実数部と虚数部に分割し、入力データが実数部と虚数部に分割されるように SplitComplexInputs プロパティ値を 1 (true) に設定します。

この引数は Mean プロパティを設定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
複素数のサポート: あり

z スコア正規化の標準偏差。h×w×d×c の配列、チャネルごとの平均から成る 1×1×1×c の配列、数値スカラー、または [] として指定します。ここで、hwd、および c はそれぞれ標準偏差の高さ、幅、深さ、およびチャネル数に対応します。

StandardDeviation プロパティを指定するには、Normalization プロパティが "zscore" でなければなりません。

StandardDeviation[] である場合、ソフトウェアは初期化時にプロパティを更新します。

  • Initialize オプションが 1 (true) の場合、関数 initialize および関数 dlnetwork は、プロパティを 1 に設定します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 1 (true) である場合、ソフトウェアは学習データを使用して標準偏差を計算し、結果の値を使用します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 0 (false) である場合、ソフトウェアはプロパティを 1 に設定します。

この引数は StandardDeviation プロパティを設定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

再スケーリングの最小値。h×w×d×c の配列、チャネルごとの最小値から成る 1×1×1×c の配列、数値スカラー、または [] として指定します。ここで、hwd、および c はそれぞれ最小値の高さ、幅、深さ、およびチャネル数に対応します。

Min プロパティを指定するには、Normalization"rescale-symmetric" または "rescale-zero-one" でなければなりません。

Min[] である場合、ソフトウェアは初期化時にプロパティを更新します。

  • Initialize オプションが 1 (true) の場合、関数 initialize および関数 dlnetwork は、Normalization"rescale-symmetric" の場合はプロパティを -1 に設定し、"rescale-zero-one" の場合はプロパティを 0 に設定します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 1 (true) である場合、ソフトウェアは学習データを使用して最小値を計算し、結果の値を使用します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 0 (false) である場合、ソフトウェアは Normalization"rescale-symmetric" であるときにはプロパティを -1 に、"rescale-zero-one" であるときには 0 にそれぞれ設定します。

この引数は Min プロパティを設定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

再スケーリングの最大値。h×w×d×c の配列、チャネルごとの最大値から成る 1×1×1×c の配列、数値スカラー、または [] として指定します。ここで、hwd、および c はそれぞれ最大値の高さ、幅、深さ、およびチャネル数に対応します。

Max プロパティを指定するには、Normalization"rescale-symmetric" または "rescale-zero-one" でなければなりません。

Max[] である場合、ソフトウェアは初期化時にプロパティを更新します。

  • Initialize オプションが 1 (true) の場合、関数 initialize および関数 dlnetwork は、プロパティを 1 に設定します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 1 (true) である場合、ソフトウェアは学習データを使用して最大値を計算し、結果の値を使用します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 0 (false) である場合、ソフトウェアはプロパティを 1 に設定します。

この引数は Max プロパティを設定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

層の名前。文字ベクトルまたは string スカラーとして指定します。Layer 配列入力の場合、trainnet 関数および dlnetwork 関数は、名前のない層に自動的に名前を割り当てます。

この引数は Name プロパティを設定します。

データ型: char | string

プロパティ

すべて展開する

3 次元イメージ入力

このプロパティは、オブジェクト作成後、読み取り専用になります。Image3DInputLayer オブジェクトを作成する場合、このプロパティを設定するには、対応する位置入力の引数を使用します。

入力データのサイズ。整数の行ベクトル [h w d c] として指定します。ここで、hwd、および c はそれぞれ高さ、幅、深さ、およびチャネル数に対応します。

  • グレースケール入力の場合、c1 に等しいベクトルを指定します。

  • RGB 入力の場合、c3 に等しいベクトルを指定します。

  • マルチスペクトル入力またはハイパースペクトル入力の場合、c がチャネル数に等しいベクトルを指定します。

例: [132 132 116 3]

このプロパティは、オブジェクト作成後、読み取り専用になります。Image3DInputLayer オブジェクトを作成する場合、このプロパティを設定するには、対応する名前と値の引数を使用します。

データが入力層を通じて順伝播されるたびに適用するデータ正規化。次のいずれかの値で指定します。

  • "zerocenter"Mean によって指定された平均を減算します。

  • "zscore"Mean によって指定された平均を減算し、StandardDeviation で除算します。

  • "rescale-symmetric"Min および Max によってそれぞれ指定された最小値と最大値を使用して、範囲 [-1, 1] に入力を再スケーリングします。

  • "rescale-zero-one"Min および Max によってそれぞれ指定された最小値と最大値を使用して、範囲 [0, 1] に入力を再スケーリングします。

  • "none" — 入力データを正規化しません。

  • 関数ハンドル — 指定した関数を使用してデータを正規化します。関数は、Y = f(X) という形式でなければなりません。ここで、X は入力データ、出力 Y は正規化データです。

入力データが複素数値で、SplitComplexInputs プロパティが 0 (false) の場合、Normalization プロパティは、"zerocenter""zscore""none"、または関数ハンドルでなければなりません。 (R2024a 以降)

R2024a より前: 複素数値のデータをネットワークに入力するには、SplitComplexInputs プロパティが 1 (true) でなければなりません。

ヒント

既定では、ソフトウェアは、関数 trainnet の使用時に正規化統計量を自動的に計算します。学習時に時間を節約するため、正規化に必要な統計量を指定し、trainingOptions 関数の ResetInputNormalization 引数を 0 (false) に設定します。

Image3DInputLayer オブジェクトは、このプロパティを文字ベクトルまたは関数ハンドルとして格納します。

正規化の次元。次のいずれかの値として指定します。

  • "auto"ResetInputNormalization 学習オプションが 0 (false) の場合、いずれかの正規化統計量 (MeanStandardDeviationMin、または Max) を指定し、統計量に一致する次元に対して正規化を行います。そうでない場合、学習時に統計量を再計算し、チャネル単位の正規化を適用します。

  • "channel" — チャネル単位の正規化。

  • "element" — 要素単位の正規化。

  • "all" — スカラーの統計量を使用してすべての値を正規化します。

Image3DInputLayer オブジェクトは、このプロパティを文字ベクトルとして格納します。

ゼロ中心正規化および z スコア正規化の平均。h×w×d×c の配列、チャネルごとの平均から成る 1×1×1×c の配列、数値スカラー、または [] として指定します。ここで、hwd、および c はそれぞれ平均の高さ、幅、深さ、およびチャネル数に対応します。

Mean プロパティを指定するには、Normalization プロパティ値が "zerocenter" または "zscore" でなければなりません。

Mean[] である場合、ソフトウェアは初期化時にプロパティ値を更新します。

  • initialize 関数は、プロパティ値を 0 に設定します。

  • dlnetwork 関数を使用しており、名前と値の引数 Initialize の値が 1 (true) である場合、ソフトウェアはプロパティ値を 0 に設定します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 1 (true) である場合、ソフトウェアは学習データを使用して平均を計算し、結果の値を使用します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 0 (false) である場合、ソフトウェアはプロパティ値を 0 に設定します。

Mean に複素数値を使用できます (R2024a 以降)Mean が複素数値の場合、SplitComplexInputs プロパティ値は 0 (false) でなければなりません。

R2024a より前: 平均を実数部と虚数部に分割し、入力データが実数部と虚数部に分割されるように SplitComplexInputs プロパティ値を 1 (true) に設定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
複素数のサポート: あり

z スコア正規化の標準偏差。h×w×d×c の配列、チャネルごとの平均から成る 1×1×1×c の配列、数値スカラー、または [] として指定します。ここで、hwd、および c はそれぞれ標準偏差の高さ、幅、深さ、およびチャネル数に対応します。

StandardDeviation プロパティを指定するには、Normalization プロパティが "zscore" でなければなりません。

StandardDeviation[] である場合、ソフトウェアは初期化時にプロパティを更新します。

  • Initialize オプションが 1 (true) の場合、関数 initialize および関数 dlnetwork は、プロパティを 1 に設定します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 1 (true) である場合、ソフトウェアは学習データを使用して標準偏差を計算し、結果の値を使用します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 0 (false) である場合、ソフトウェアはプロパティを 1 に設定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

再スケーリングの最小値。h×w×d×c の配列、チャネルごとの最小値から成る 1×1×1×c の配列、数値スカラー、または [] として指定します。ここで、hwd、および c はそれぞれ最小値の高さ、幅、深さ、およびチャネル数に対応します。

Min プロパティを指定するには、Normalization"rescale-symmetric" または "rescale-zero-one" でなければなりません。

Min[] である場合、ソフトウェアは初期化時にプロパティを更新します。

  • Initialize オプションが 1 (true) の場合、関数 initialize および関数 dlnetwork は、Normalization"rescale-symmetric" の場合はプロパティを -1 に設定し、"rescale-zero-one" の場合はプロパティを 0 に設定します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 1 (true) である場合、ソフトウェアは学習データを使用して最小値を計算し、結果の値を使用します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 0 (false) である場合、ソフトウェアは 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 の配列、数値スカラー、または [] として指定します。ここで、hwd、および c はそれぞれ最大値の高さ、幅、深さ、およびチャネル数に対応します。

Max プロパティを指定するには、Normalization"rescale-symmetric" または "rescale-zero-one" でなければなりません。

Max[] である場合、ソフトウェアは初期化時にプロパティを更新します。

  • Initialize オプションが 1 (true) の場合、関数 initialize および関数 dlnetwork は、プロパティを 1 に設定します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 1 (true) である場合、ソフトウェアは学習データを使用して最大値を計算し、結果の値を使用します。

  • trainnet 関数を使用しており、ResetInputNormalization 学習オプションの値が 0 (false) である場合、ソフトウェアはプロパティを 1 に設定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

層の名前。文字ベクトルとして指定します。Layer 配列入力の場合、trainnet 関数および dlnetwork 関数は、名前のない層に自動的に名前を割り当てます。

データ型: char

この プロパティ は読み取り専用です。

層の入力の数。この層には入力がありません。

データ型: 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   Fully connected layer with output size 10
     6   ''   Softmax           Softmax

アルゴリズム

すべて展開する

バージョン履歴

R2019a で導入

すべて展開する