"Boolean" (Net Decoder)


represents a decoder that converts a probability p to False if p<0.5, and True otherwise.


  • NetDecoder[][input] applies the decoder to an input to produce an output.
  • NetDecoder[][{input1,input2,}] applies the decoder to a list of inputs to produce a list of outputs.
  • The input to the decoder input is a scalar in the range 0input1.
  • NetDecoder[{"Boolean","InputDepth"->n}] can be used to specify that the input array has depth n. The default depth is 0, indicating that the input is a single real number.
  • A decoder can be attached to an output port of a net by specifying "port"->NetDecoder[] when constructing the net.
  • Properties
  • NetDecoder["Boolean"][data,prop] can be used to calculate a specific property for the input data.
  • When a "Boolean" decoder is attached to a net, net[data,prop] or net[data,"oport"->prop] can be used to calculate a specific property of the decoded output.
  • The "Boolean" decoder supports the following properties prop:
  • "Decision"the Boolean class False or True with the highest probability (default)
    "Probability"the probability p of class True
    "Entropy"the entropy of the probability distribution
    "RandomSample"sample a Boolean proportionally to its probability
    "RandomSample"->tsample using a positive temperature t
    Nonebypass decoding and return the input


open allclose all

Basic Examples  (1)

Create a Boolean decoder:

Decode a probability as either True or False:

The decoder maps over a batch of examples:

The decoder expects probabilities as inputs and acts as Identity with the property "Probability":

Compute the entropy:

Scope  (2)

Attach a "Boolean" decoder to the output port of an ElementwiseLayer:

Apply the layer to an input:

Create a "Boolean" decoder that converts a matrix of probabilities into a matrix of Boolean values:

Attach the decoder to a net and apply it to an input:

Obtain the probability of the positive class:

Compute the entropy of each Bernoulli distribution: