PartLayer

PartLayer[i]

represents a net layer that gives the i^(th) part of the input.

PartLayer[i;;j]

gives parts i through j.

PartLayer[i;;j;;k]

gives parts i through j in steps of k.

PartLayer[{spec1,spec2,}]

takes part speci at level i in the input.

Details and Options

  • PartLayer[][input] explicitly computes the output from applying the layer to input.
  • PartLayer[][{input1,input2,}] explicitly computes outputs for each of the inputi.
  • PartLayer exposes the following ports for use in NetGraph etc.:
  • "Input"an array
    "Output"an array
  • PartLayer is typically used inside NetChain, NetGraph, etc.
  • PartLayer normally infers the dimensions of its input from its context in NetChain etc. To specify the dimensions explicitly as {n1,n2,}, use PartLayer["Input"->{n1,n2,}].
  • PartLayer[i;;j] and PartLayer[i;;j;;k] give an output that is of the same rank as the input, whereas PartLayer[i] gives an output that is one rank smaller.
  • Information[PartLayer[]] gives a report about the layer.
  • Information[PartLayer[],prop] gives the value of the property prop of PartLayer[]. Possible properties are the same as for NetGraph.

Examples

open allclose all

Basic Examples  (2)

Create a PartLayer that takes the second part of an array:

Create a PartLayer that takes the second part of an array:

Apply the layer to a vector:

Scope  (6)

Arguments  (3)

Create a PartLayer that takes the first two elements:

Apply the layer to a matrix:

Create a PartLayer that takes the next-to-last element in an array:

Apply the layer to a vector:

Create a PartLayer that takes all elements after the second one:

Apply the layer to a vector:

This is equivalent to using All:

Ports  (3)

Create a PartLayer whose inputs are vectors of length three:

The layer threads across a batch of examples:

Create a PartLayer that takes the first column of its input, which is a matrix:

Apply the layer to a matrix:

Create a PartLayer that takes numbers at an odd place:

Apply the layer to a list of numbers:

Possible Issues  (1)

Using Part with a Span where the second index is smaller than the first is valid syntax, producing an empty list:

This is invalid syntax for PartLayer, as empty arrays are not allowed in nets:

Wolfram Research (2017), PartLayer, Wolfram Language function, https://reference.wolfram.com/language/ref/PartLayer.html (updated 2021).

Text

Wolfram Research (2017), PartLayer, Wolfram Language function, https://reference.wolfram.com/language/ref/PartLayer.html (updated 2021).

CMS

Wolfram Language. 2017. "PartLayer." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/PartLayer.html.

APA

Wolfram Language. (2017). PartLayer. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PartLayer.html

BibTeX

@misc{reference.wolfram_2023_partlayer, author="Wolfram Research", title="{PartLayer}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/PartLayer.html}", note=[Accessed: 19-April-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_partlayer, organization={Wolfram Research}, title={PartLayer}, year={2021}, url={https://reference.wolfram.com/language/ref/PartLayer.html}, note=[Accessed: 19-April-2024 ]}