层数组或层图中的层将数据作为格式化的 dlarray
对象传递给后续层。dlarray
对象的格式是字符串,其中每个字符描述数据的对应维度。格式由以下一个或多个字符组成:
"S"
- 空间
"C"
- 通道
"B"
- 批量
"T"
- 时间
"U"
- 未指定
例如,以四维数组表示的二维图像数据(其中前两个维度对应于图像的空间维度,第三个维度对应于图像的通道,第四个维度对应于批量维度)的格式可以描述为 "SSCB"
(空间、空间、通道、批量)。
您可以在自动微分工作流中与这些 dlarray
对象进行交互,例如开发自定义层、使用 functionLayer
对象或对 dlnetwork
对象使用 forward
和 predict
函数的工作流。
下表显示 FlattenLayer
对象支持的输入格式以及对应的输出格式。如果软件将层的输出传递给不从 nnet.layer.Formattable
类继承的自定义层,或传递给 Formattable
属性设置为 0
(false
) 的 FunctionLayer
对象,则该层会接收到未格式化的 dlarray
对象,其维度顺序对应于下表中的格式。此处列出的格式只是部分格式。该层可能支持其他格式,例如具有附加 "S"
(空间)或 "U"
(未指定)维度的格式。
输入格式 | 输出格式 |
---|
"CB" (通道、批量)
| "CB" (通道、批量)
|
"SCB" (空间、通道、批量)
|
"SSCB" (空间、空间、通道、批量)
|
"SSSCB" (空间、空间、通道、批量)
|
"CBT" (通道、批量、时间)
| "CBT" (通道、批量、时间)
|
"SCBT" (空间、通道、批量、时间)
|
"SSCBT" (空间、空间、通道、批量、时间)
|
"SSSCBT" (空间、空间、空间、通道、批量、时间)
|
"CU" (通道、未指定)
| "CU" (通道、未指定)
|
"SC" (空间、通道)
|
"SSC" (空间、空间、通道)
|
"SSSC" (空间、空间、空间、通道)
|
在 dlnetwork
对象中,FlattenLayer
对象还支持以下输入和输出格式组合。
输入格式 | 输出格式 |
---|
"CT" (通道、时间)
| "CT" (通道、时间)
|
"SCT" (空间、通道、时间)
|
"SSCT" (空间、空间、通道、时间)
|
"SSSCT" (空间、空间、空间、通道、时间)
|