層配列内または層グラフ内の層は、形式を整えた dlarray
オブジェクトとして後続の層にデータを渡します。dlarray
オブジェクトの形式は文字列で、各文字はデータ内の対応する次元を表します。この形式には次の文字が 1 つ以上含まれています。
"S"
— 空間
"C"
— チャネル
"B"
— バッチ
"T"
— 時間
"U"
— 指定なし
たとえば、4 次元配列として表された 2 次元イメージ データがあり、最初の 2 つの次元がイメージの空間次元に対応し、3 番目の次元がイメージのチャネルに対応し、4 番目の次元がバッチ次元に対応している場合、このイメージ データは "SSCB"
(空間、空間、チャネル、バッチ) という形式で表されます。
functionLayer
オブジェクトを使用するか、関数 forward
と関数 predict
を dlnetwork
オブジェクトと共に使用して、カスタム層の開発などの自動微分ワークフローで、これらの dlarray
オブジェクトを操作できます。
次の表は、FlattenLayer
オブジェクトでサポートされている入力形式、および対応する出力形式を示しています。ソフトウェアが nnet.layer.Formattable
クラスを継承していないカスタム層、または Formattable
プロパティが 0
(false
) に設定された FunctionLayer
オブジェクトに層の出力を渡す場合、その層は形式を整えていない dlarray
オブジェクトを受け取り、この表に示された形式に従って次元が並べられます。ここには一部の形式のみを示します。層では、追加の "S"
(空間) 次元または "U"
(未指定) 次元をもつ形式など、追加の形式がサポートされている場合があります。
入力形式 | 出力形式 |
---|
"CB" (channel、batch)
| "CB" (channel、batch)
|
"SCB" (spatial、channel、batch)
|
"SSCB" (spatial、spatial、channel、batch)
|
"SSSCB" (spatial、spatial、channel、batch)
|
"CBT" (channel、batch、time)
| "CBT" (channel、batch、time)
|
"SCBT" (spatial、channel、batch、time)
|
"SSCBT" (spatial、spatial、channel、batch、time)
|
"SSSCBT" (spatial、spatial、spatial、channel、batch、time)
|
"CU" (channel、unspecified)
| "CU" (channel、unspecified)
|
"SC" (spatial、channel)
|
"SSC" (spatial、spatial、channel)
|
"SSSC" (spatial、spatial、spatial、channel)
|
dlnetwork
オブジェクトでは、FlattenLayer
オブジェクトもこれらの入力形式と出力形式の組み合わせをサポートします。
入力形式 | 出力形式 |
---|
"CT" (channel、time)
| "CT" (channel、time)
|
"SCT" (spatial、channel、time)
|
"SSCT" (spatial、spatial、channel、time)
|
"SSSCT" (spatial、spatial、spatial、channel、time)
|