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.


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


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

Initialize the node with an object that can discriminate.

  • 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.



Call the data action of this node on the data.


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.


The processed data.

Return type: