def build_pooling(self, layer): from snntoolbox.simulation.utils import build_pooling delay = self.config.getfloat('cell', 'delay') self._conns = build_pooling(layer, delay) self.connections.append(self.sim.Projection( self.layers[-2], self.layers[-1], self.sim.FromListConnector(self._conns, ['weight', 'delay'])))
def build_pooling(self, layer): from snntoolbox.simulation.utils import build_pooling delay = self.config.getfloat('cell', 'delay') self._conns = build_pooling(layer, delay) for conn in self._conns: self.connections[-1].connect(i=conn[0], j=conn[1]) self.connections[-1].w = 1 / np.prod(layer.pool_size)
def build_pooling(self, layer, weights=None): delay = self.config.getfloat('cell', 'delay') connections = np.array(build_pooling(layer, delay)) self.connections[-1].connect(i=connections[:, 0].astype('int64'), j=connections[:, 1].astype('int64')) w = connections[:, 2] if weights is None else weights.flatten() self.connections[-1].w = w
def build_pooling(self, layer, input_weight=None): from snntoolbox.simulation.utils import build_pooling delay = self.config.getfloat('cell', 'delay') self._conns = build_pooling(layer, delay) for conn in self._conns: self.connections[-1].connect(i=conn[0], j=conn[1]) if input_weight is not None: self.connections[-1].w = input_weight.flatten() else: self.connections[-1].w = 1 / np.prod(layer.pool_size)
def build_pooling(self, layer): delay = self.config.getfloat('cell', 'delay') weights = build_pooling(layer, delay) weights = self.scale_weights(weights) if self.config.getboolean('tools', 'simulate'): self.connections.append( self.sim.Projection( self.layers[-2], self.layers[-1], self.sim.FromListConnector(weights, ['weight', 'delay']), receptor_type='excitatory', label=self.layers[-1].label + '_excitatory')) else: # The spinnaker implementation of Projection.save() is not working # yet, so we do save the connections manually here. filepath = os.path.join(self.config.get('paths', 'path_wd'), self.layers[-1].label) # noinspection PyTypeChecker np.savetxt(filepath, np.array(connections), ['%d', '%d', '%.18f', '%.3f'], header="columns = ['i', 'j', 'weight', 'delay']")