Open studywolf opened 4 years ago
I think if you do print(subnet.config[subnet.ens].on_chip)
it will work as expected (because that's where you set it, not net.config
).
What's more important is that setting on_chip
on the subnet does not appear to work.
with nengo_loihi.Simulator(net) as sim:
def print_ensembles(name, model):
if len(model.params) == 0:
return
n_ensembles = len(set(obj for obj in model.params if isinstance(obj, nengo.Ensemble)))
print("%s: %d ensembles" % (name, n_ensembles))
print_ensembles("host_pre", sim.model.host_pre)
print_ensembles("host", sim.model.host)
print_ensembles("loihi", sim.model)
results in
loihi: 2 ensembles
for Travis's code above.
If I add net.config[subnet.ens].on_chip = False
to Travis's code then I get the expected
host: 1 ensembles
loihi: 1 ensembles
Ah yeah, related to https://github.com/nengo/nengo/issues/1601, basically NengoLoihi only looks at the top-level config, it doesn't check nested configs at all I don't think.
Yeah, related to that, though it's even a bit trickier because the splitting is pre-builder, so even though we're setting/unsetting model.config
and thus have access to the current network config when building the ensemble, we don't have this when we're splitting.
Here's a sketch of a fix, https://github.com/nengo/nengo-loihi/tree/config-on-chip
I found this unexpected
prints out
None