train-your-fly / connectome
PyTorch Geometric toolkit for connectome-constrained vision models: a Drosophila eye model feeding message passing over the FlyWire v783 whole-brain graph to a Kenyon-cell readout. Fixed wiring; only per-synapse gains and a linear readout are trained. The connectome study adds colour, shape, and numerosity tasks, randomized-ensemble controls, and manifold analysis; graphs archived on
The connectome is used as fixed wiring. Activity is mapped straight to controls. Nothing changes over time.
Dispute this rating →The evidence
No evidence, no level.The connectome's synapse counts are a non-trainable buffer; the trained parameters are a separate per-synapse gain multiplier and an optional per-neuron threshold.
https://github.com/eudald-seeslab/train-your-fly/blob/fec9439ae330c5838fe4301ceda1a9a6f4fab362/src/trainyourfly/connectome_models/graph_models.py#L27-L44A forward pass is three stateless message-passing steps - no membrane variable, no time constant, no threshold-and-reset dynamics.
https://github.com/eudald-seeslab/train-your-fly/blob/fec9439ae330c5838fe4301ceda1a9a6f4fab362/src/trainyourfly/connectome_models/graph_models.py#L52-L94The authors state that neurons keep no state between steps and that the wiring diagram never changes.
https://github.com/eudald-seeslab/train-your-fly/blob/fec9439ae330c5838fe4301ceda1a9a6f4fab362/README.md#L109All learned parameters are fitted offline by AdamW with a cross-entropy loss, which produces fixed weights for inference.
https://github.com/eudald-seeslab/train-your-fly/blob/fec9439ae330c5838fe4301ceda1a9a6f4fab362/src/trainyourfly/train.py#L164-L205
The FlyWire v783 graph is used as fixed wiring for a PyTorch Geometric classifier, with an anatomically careful eye model in front and a Kenyon-cell linear readout behind. No neuron is simulated over time: `forward` runs exactly NUM_CONNECTOME_PASSES (3) message-passing steps, each computed purely from incoming input, and the repository contains no membrane variable, no time constant, no leak, no spike threshold and no reset - a grep for membrane/voltage/tau/refractory/spike across `src/` returns only the string 'leaky_relu'. The authors say this themselves: 'Neurons keep no state between steps: each step is computed from incoming input alone.' That absence of any state variable is what rules out L1; the per-neuron xi is a static learned bias inside the nonlinearity, not a spiking threshold. Not L2 either, and not even close: the connectome edge weights are a non-trainable `register_buffer`, what is learned is a separate `edge_weight_multiplier` gain per synapse plus an optional per-neuron threshold plus the final linear classifier, all optimised offline by AdamW on a cross-entropy loss. This is a careful and honest project - the README's 'What gets trained' table states the regime precisely - it just sits at the fixed-wiring end of the scale.
Record
Nearby
All projects →Research code for the Shiu et al. connectome-based leaky integrate-and-fire model, including activation/silencing experiments, notebooks, and FlyWire data configuration.
FlyWire whole-brain LIF implementation based on Shiu et al., with multiple simulation backends and benchmarking tools. This repository supplies the neural model; it is not a complete embodied demo package.
Ratings on thelearningfly.com are proposals, not verdicts. Every one of them is arguable in public.