Skip to content

Accuracy print-outs of supervised_mnist.py -example seem incorrect #351

@Danielle-Schuman

Description

@Danielle-Schuman

In the supervised_mnist.py -example, the "All activity accuracy" and the "Proportion weighting accuracy" are calculated every update_interval iterations. Also, the "assignments" of labels to the neurons in the excitatory layer are calculated, which are used for plotting.
This would be very handy to keep track of how the training is progressing, were it not for the fact that this seems to not be working accurately.
E.g. if you run the example with default arguments, at the end of the training you still get print-outs like
"All activity accuracy: 2.40 (last), 5.26 (average), 93.20 (best)
Proportion weighting accuracy: 82.00 (last), 18.16 (average), 93.20 (best)",
while I personally would have assumed it to be a lot better after 5000 training-iterations.

I think the cause of the issue is that the networks predictions are just compared to the label of the one datum for the next iteration instead of to all the labels of all the data of the last update_interval, for which they are the predictions. This also becomes clear if you look at the description of the method "assign_labels", which calculates the "assignments", "proportions" and "rates": Here, there is explicitly talk of labels as a vector of size n_samples with data labels corresponding to the spiking activity of the network.

P.S. Thank you so much for the great package, by the way :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions