DiscriminatorNode

class DiscriminatorNode(discriminators, validate=True)[source]

A class to discriminate kerneled data, e.g., IQ data, to produce counts.

This node integrates into the data processing chain a serializable BaseDiscriminator subclass instance which must have a predict() method that takes as input a list of lists and returns a list of labels. Crucially, this node can be initialized with a single discriminator which applies to each memory slot or it can be initialized with a list of discriminators, i.e., one for each slot.

Note

Future versions may see this class become a sub-class of TrainableDataAction.

Note

This node will drop uncertainty from unclassified nodes. Returned labels don’t have uncertainty.

Initialize the node with an object that can discriminate.

Parameters:
  • discriminators (BaseDiscriminator | List[BaseDiscriminator]) – The entity that will perform the discrimination. This needs to be a BaseDiscriminator or a list thereof that takes as input a list of lists and returns a list of labels. If a list of discriminators is given then there should be as many discriminators as there will be slots in the memory. The discriminator at the i-th index will be applied to the i-th memory slot.

  • validate (bool) – If set to False the DataAction will not validate its input.

Methods

__call__(data)

Call the data action of this node on the data.

Parameters:

data (ndarray) – A numpy array with arbitrary dtype. If the elements are ufloat objects consisting of a nominal value and a standard error, then the error propagation is done automatically.

Returns:

The processed data.

Return type:

ndarray