represents a decoder that takes a net representation and decodes it into an expression of a given form.


represents a decoder with additional parameters specified.


  • NetDecoder[][array] gives the specified decoded form for array.
  • NetDecoder[][{array1,array2, }] explicitly computes outputs for each of the arrayi.
  • Possible named decoders include:
  • "Boolean"decode 1 and 0 as True and False
    "Characters"decode probability vectors as a string of characters
    "Class"decode probability tensors as class labels
    "CTCBeamSearch"decode sequences of probability vectors trained with a CTCLossLayer
    "Image"decode a 3-tensor as a 2D image
    "Image3D"decode a 4-tensor as a 3D image
    "Scalar"decode a 1-vector as a single numeric value
    "Tokens"decode probability vectors as a string of tokens
  • A NetDecoder object can be attached to an output port of a net by specifying "port"->NetDecoder[] when constructing the net. Specifying "port"->"type" will create a decoder of the given type and attach it.
  • When a decoder is attached to the output of a net, net[input] will return the decoded output of the net. The raw output of the net can be obtained by specifying net[input,None].
  • NetDecoder is not involved in training done by NetTrain. However, when NetTrain is allowed to automatically attach a loss layer and a NetDecoder is attached to the output of the net, a NetEncoder of the same type will be created for the "Target" input of the loss layer.
  • NetDecoder[NetEncoder[]] will create a decoder based on the parameters of an existing encoder.


open allclose all

Basic Examples  (1)

Create a class decoder:

Click for copyable input

Use it on a probability vector to make a class prediction:

Click for copyable input

Predict the class for a batch of inputs:

Click for copyable input

Scope  (1)

Properties & Relations  (2)

Neat Examples  (1)

See Also

NetEncoder  NetChain  NetGraph  NetTrain


Introduced in 2016
| Updated in 2018