NetDecoder["name"]
represents a decoder that takes a net representation and decodes it into an expression of a given form.
NetDecoder[{"name",…}]
represents a decoder with additional parameters specified.
NetDecoder
Listing of Net Decoders »NetDecoder["name"]
represents a decoder that takes a net representation and decodes it into an expression of a given form.
NetDecoder[{"name",…}]
represents a decoder with additional parameters specified.
Details
- NetDecoder[…][array] gives the specified decoded form for array.
- NetDecoder[…][{array1,array2, …}] explicitly computes outputs for each of the arrayi.
- NetDecoder[…][…,prop] can be used to calculate a specific property for the input data.
- NetDecoder[…][…,"Properties"] gives the possible properties.
- 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 arrays as class labels "CTCBeamSearch" decode sequences of probability vectors trained with a CTCLossLayer "Function" decode using a custom function "Image" decode a rank-3 array as a 2D image "Image3D" decode a rank-4 array as a 3D image "SubwordTokens" decode probability vectors as a string of subword tokens "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, when it is possible.
Examples
open all close allBasic Examples (1)
Scope (1)
Properties & Relations (2)
Decoders can be attached to a net to automatically decode the output of the net when the net is applied to data:
dec = NetDecoder[{"Class", {a, b, c}}];
net = SoftmaxLayer["Output" -> dec]net[{1, 2, 3}]Apply the net to a batch of inputs:
net[{{3, 2, 1}, {1, 2, 3}}]Calculate a property of the decoder for an input:
net[{3, 2, 1}, "Probabilities"]Calculate a property on a batch of inputs:
net[{{1, 1, 1}, {1, 3, 9}}, "Entropy"]NetTrain will automatically try to attach a decoder when a net is not fully specified. Automatic attachment of a class decoder:
net = NetTrain[NetChain[{LinearLayer[], SoftmaxLayer[]}], {1.1 -> "a", 2.1 -> "a", 3.3 -> "b", 4.1 -> "b"}]NetExtract[net, "Output"]Automatic attachment of an image decoder:
net = NetTrain[LinearLayer[], {True -> [image], False -> [image], True -> [image], False -> [image]}]NetExtract[net, "Output"]net[True]Neat Examples (1)
Use an encoder and a decoder to produce an interactive display of the output of two successive convolutions:
net = NetChain[{
ConvolutionLayer[2, 3, "Dilation" -> 3], Tanh,
ConvolutionLayer[3, 3, "Dilation" -> 3], Tanh
}, "Input" -> NetEncoder[{"Image", 64}], "Output" -> "Image"]net2 = NetInitialize[net, Method -> {"Random", "Weights" -> NormalDistribution[0.05, 0.2], "Biases" -> 0.3}];
Dynamic[Image[ImageAdjust@net2 @ CurrentImage[], Magnification -> 4]]Tech Notes
Related Guides
Text
Wolfram Research (2016), NetDecoder, Wolfram Language function, https://reference.wolfram.com/language/ref/NetDecoder.html (updated 2022).
CMS
Wolfram Language. 2016. "NetDecoder." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/NetDecoder.html.
APA
Wolfram Language. (2016). NetDecoder. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NetDecoder.html
BibTeX
@misc{reference.wolfram_2026_netdecoder, author="Wolfram Research", title="{NetDecoder}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/NetDecoder.html}", note=[Accessed: 15-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_netdecoder, organization={Wolfram Research}, title={NetDecoder}, year={2022}, url={https://reference.wolfram.com/language/ref/NetDecoder.html}, note=[Accessed: 15-June-2026]}