UnitVectorLayer
represents a net layer that transforms integers between 1 and n into n-dimensional unit vectors.
leaves the n to be inferred from context.
Details and Options
- UnitVectorLayer operates either on integers or arrays of integers, producing a vector or array, respectively.
- Specifying UnitVectorLayer[n] will produce a net that infers the n when a NetEncoder[…] that produces integers is connected to its input.
- UnitVectorLayer[…][input] explicitly computes the output from applying the layer to input.
- UnitVectorLayer[…][{input1,input2,…}] explicitly computes an output for each of the inputi.
- When given a NumericArray as input, the output will be a NumericArray.
- UnitVectorLayer is typically used inside NetChain, NetGraph, etc.
- UnitVectorLayer exposes the following ports for use in NetGraph etc.:
-
"Input" an integer or array of integers "Output" an n-dimensional numerical vector or array of vectors - UnitVectorLayer[size,"Input"->shape] allows the shape of the input to be specified. Possible forms for shape are:
-
NetEncoder[…] encoder producing an integer or array of integers "Integer" a single integer d a vector of integers of length d {d1,d2,…} an array of integers of dimensions d1×d2×… "Varying" a vector of integers whose length is variable {"Varying",d2,d3,…} an array of integers whose first dimension is variable and remaining dimensions are d2×d3×… - Options[UnitVectorLayer] gives the list of default options to construct the layer. Options[UnitVectorLayer[…]] gives the list of default options to evaluate the layer on some data.
- Information[UnitVectorLayer[…]] gives a report about the layer.
- Information[UnitVectorLayer[…],prop] gives the value of the property prop of UnitVectorLayer[…]. Possible properties are the same as for NetGraph.
Examples
open allclose allBasic Examples (2)
Create a UnitVectorLayer that will accept an array containing 1 or 2 as input and produce an array of "one-hot" vectors:
Create a UnitVectorLayer that will accept 1, 2 or 3 as input and produce a "one-hot" vector:
Scope (3)
Ports (3)
Create a UnitVectorLayer with the input specified to be an integer between 1 and 3:
The layer threads across a batch of inputs:
Create a UnitVectorLayer with the input specified to be a sequence of integers between 1 and 3:
Apply the layer to a sequence:
Apply the layer to a batch of sequences of varying lengths:
Explicitly specify that the input is a matrix of integers between 1 and 3:
Apply the input to a matrix to obtain a three-dimensional array:
Applications (1)
Use a NetEncoder in conjunction with a UnitVectorLayer:
Properties & Relations (1)
UnitVectorLayer is related to the n-dimensional form of UnitVector:
Text
Wolfram Research (2017), UnitVectorLayer, Wolfram Language function, https://reference.wolfram.com/language/ref/UnitVectorLayer.html.
CMS
Wolfram Language. 2017. "UnitVectorLayer." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/UnitVectorLayer.html.
APA
Wolfram Language. (2017). UnitVectorLayer. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/UnitVectorLayer.html