def __init__(self, sim, num_threads, parameters): Model.__init__(self, sim, num_threads, parameters) # Load components CortexExcL4 = load_component(self.parameters.l4_cortex_exc.component) CortexInhL4 = load_component(self.parameters.l4_cortex_inh.component) RetinaLGN = load_component(self.parameters.retina_lgn.component) # Build and instrument the network self.visual_field = VisualRegion(location_x=self.parameters.visual_field.centre[0],location_y=self.parameters.visual_field.centre[1],size_x=self.parameters.visual_field.size[0],size_y=self.parameters.visual_field.size[1]) self.input_layer = RetinaLGN(self, self.parameters.retina_lgn.params) cortex_exc_l4 = CortexExcL4(self, self.parameters.l4_cortex_exc.params) cortex_inh_l4 = CortexInhL4(self, self.parameters.l4_cortex_inh.params) GaborConnector(self,self.input_layer.sheets['X_ON'],self.input_layer.sheets['X_OFF'],cortex_exc_l4,self.parameters.l4_cortex_exc.AfferentConnection,'V1AffConnection') GaborConnector(self,self.input_layer.sheets['X_ON'],self.input_layer.sheets['X_OFF'],cortex_inh_l4,self.parameters.l4_cortex_inh.AfferentConnection,'V1AffInhConnection') # initialize projections ModularSingleWeightProbabilisticConnector(self,'V1L4ExcL4ExcConnectionRand',cortex_exc_l4,cortex_exc_l4,self.parameters.l4_cortex_exc.L4ExcL4ExcConnectionRand).connect() ModularSingleWeightProbabilisticConnector(self,'V1L4ExcL4InhConnectionRand',cortex_exc_l4,cortex_inh_l4,self.parameters.l4_cortex_exc.L4ExcL4InhConnectionRand).connect() ModularSingleWeightProbabilisticConnector(self,'V1L4InhL4ExcConnectionRand',cortex_inh_l4,cortex_exc_l4,self.parameters.l4_cortex_inh.L4InhL4ExcConnectionRand).connect() ModularSingleWeightProbabilisticConnector(self,'V1L4InhL4InhConnectionRand',cortex_inh_l4,cortex_inh_l4,self.parameters.l4_cortex_inh.L4InhL4InhConnectionRand).connect() # initialize projections ModularSamplingProbabilisticConnector(self,'V1L4ExcL4ExcConnection',cortex_exc_l4,cortex_exc_l4,self.parameters.l4_cortex_exc.L4ExcL4ExcConnection).connect() ModularSamplingProbabilisticConnector(self,'V1L4ExcL4InhConnection',cortex_exc_l4,cortex_inh_l4,self.parameters.l4_cortex_exc.L4ExcL4InhConnection).connect() ModularSamplingProbabilisticConnector(self,'V1L4InhL4ExcConnection',cortex_inh_l4,cortex_exc_l4,self.parameters.l4_cortex_inh.L4InhL4ExcConnection).connect() ModularSamplingProbabilisticConnector(self,'V1L4InhL4InhConnection',cortex_inh_l4,cortex_inh_l4,self.parameters.l4_cortex_inh.L4InhL4InhConnection).connect()
def __init__(self, sim, num_threads, parameters): Model.__init__(self, sim, num_threads, parameters) # Load components CortexExcL4 = load_component( self.parameters.sheets.l4_cortex_exc.component) CortexInhL4 = load_component( self.parameters.sheets.l4_cortex_inh.component) if not self.parameters.only_afferent and self.parameters.l23: CortexExcL23 = load_component( self.parameters.sheets.l23_cortex_exc.component) CortexInhL23 = load_component( self.parameters.sheets.l23_cortex_inh.component) RetinaLGN = load_component(self.parameters.sheets.retina_lgn.component) # Build and instrument the network self.visual_field = VisualRegion( location_x=self.parameters.visual_field.centre[0], location_y=self.parameters.visual_field.centre[1], size_x=self.parameters.visual_field.size[0], size_y=self.parameters.visual_field.size[1], ) self.input_layer = RetinaLGN(self, self.parameters.sheets.retina_lgn.params) cortex_exc_l4 = CortexExcL4( self, self.parameters.sheets.l4_cortex_exc.params) cortex_inh_l4 = CortexInhL4( self, self.parameters.sheets.l4_cortex_inh.params) if not self.parameters.only_afferent and self.parameters.l23: cortex_exc_l23 = CortexExcL23( self, self.parameters.sheets.l23_cortex_exc.params) cortex_inh_l23 = CortexInhL23( self, self.parameters.sheets.l23_cortex_inh.params) # initialize afferent layer 4 projections GaborConnector( self, self.input_layer.sheets["X_ON"], self.input_layer.sheets["X_OFF"], cortex_exc_l4, self.parameters.sheets.l4_cortex_exc.AfferentConnection, "V1AffConnection", ) GaborConnector( self, self.input_layer.sheets["X_ON"], self.input_layer.sheets["X_OFF"], cortex_inh_l4, self.parameters.sheets.l4_cortex_inh.AfferentConnection, "V1AffInhConnection", ) # initialize lateral layer 4 projections if not self.parameters.only_afferent: ModularSamplingProbabilisticConnectorAnnotationSamplesCount( self, "V1L4ExcL4ExcConnection", cortex_exc_l4, cortex_exc_l4, self.parameters.sheets.l4_cortex_exc.L4ExcL4ExcConnection, ).connect() ModularSamplingProbabilisticConnectorAnnotationSamplesCount( self, "V1L4ExcL4InhConnection", cortex_exc_l4, cortex_inh_l4, self.parameters.sheets.l4_cortex_exc.L4ExcL4InhConnection, ).connect() ModularSamplingProbabilisticConnector( self, "V1L4InhL4ExcConnection", cortex_inh_l4, cortex_exc_l4, self.parameters.sheets.l4_cortex_inh.L4InhL4ExcConnection, ).connect() ModularSamplingProbabilisticConnector( self, "V1L4InhL4InhConnection", cortex_inh_l4, cortex_inh_l4, self.parameters.sheets.l4_cortex_inh.L4InhL4InhConnection, ).connect() if self.parameters.l23: # initialize afferent layer 4 to layer 2/3 projection ModularSamplingProbabilisticConnector( self, "V1L4ExcL23ExcConnection", cortex_exc_l4, cortex_exc_l23, self.parameters.sheets.l23_cortex_exc. L4ExcL23ExcConnection, ).connect() ModularSamplingProbabilisticConnector( self, "V1L4ExcL23InhConnection", cortex_exc_l4, cortex_inh_l23, self.parameters.sheets.l23_cortex_inh. L4ExcL23InhConnection, ).connect() ModularSamplingProbabilisticConnector( self, "V1L23ExcL23ExcConnection", cortex_exc_l23, cortex_exc_l23, self.parameters.sheets.l23_cortex_exc. L23ExcL23ExcConnection, ).connect() ModularSamplingProbabilisticConnector( self, "V1L23ExcL23InhConnection", cortex_exc_l23, cortex_inh_l23, self.parameters.sheets.l23_cortex_exc. L23ExcL23InhConnection, ).connect() ModularSamplingProbabilisticConnector( self, "V1L23InhL23ExcConnection", cortex_inh_l23, cortex_exc_l23, self.parameters.sheets.l23_cortex_inh. L23InhL23ExcConnection, ).connect() ModularSamplingProbabilisticConnector( self, "V1L23InhL23InhConnection", cortex_inh_l23, cortex_inh_l23, self.parameters.sheets.l23_cortex_inh. L23InhL23InhConnection, ).connect() if self.parameters.feedback: ModularSamplingProbabilisticConnector( self, "V1L23ExcL4ExcConnection", cortex_exc_l23, cortex_exc_l4, self.parameters.sheets.l23_cortex_exc. L23ExcL4ExcConnection, ).connect() ModularSamplingProbabilisticConnector( self, "V1L23ExcL4InhConnection", cortex_exc_l23, cortex_inh_l4, self.parameters.sheets.l23_cortex_exc. L23ExcL4InhConnection, ).connect()
def __init__(self, sim, num_threads, parameters): Model.__init__(self, sim, num_threads, parameters) # Load components LGN = load_component(self.parameters.lgn.component) # Instance self.input_layer = LGN(self, self.parameters.lgn.params) # Build and instrument the network self.visual_field = VisualRegion( location_x=self.parameters.visual_field.centre[0], location_y=self.parameters.visual_field.centre[1], size_x=self.parameters.visual_field.size[0], size_y=self.parameters.visual_field.size[1] ) # PROJECTIONS ######################################################## # PGN if withPGN: # Load components PGN = load_component( self.parameters.pgn.component ) # Instance pgn = PGN(self, self.parameters.pgn.params) # LGN-PGN ModularSamplingProbabilisticConnector( self, 'LGN_PGN_ConnectionOn', # name self.input_layer.sheets['X_ON'], # source pgn, # target self.parameters.pgn.LGN_PGN_ConnectionOn # params ).connect() ModularSamplingProbabilisticConnector( self, 'LGN_PGN_ConnectionOff', # name self.input_layer.sheets['X_OFF'], # source pgn, # target self.parameters.pgn.LGN_PGN_ConnectionOff # params ).connect() ModularSamplingProbabilisticConnector( self, 'PGN_PGN_Connection', # name pgn, # source pgn, # target self.parameters.pgn.PGN_PGN_Connection # params ).connect() ModularSamplingProbabilisticConnector( self, 'PGN_LGN_ConnectionOn', # name pgn, # source self.input_layer.sheets['X_ON'], # target self.parameters.pgn.PGN_LGN_ConnectionOn # params ).connect() ModularSamplingProbabilisticConnector( self, 'PGN_LGN_ConnectionOff', # name pgn, # source self.input_layer.sheets['X_OFF'], # target self.parameters.pgn.PGN_LGN_ConnectionOff # params ).connect() # V1 if withV1: # CTC # Load components CortexExcL4 = load_component(self.parameters.l4_cortex_exc.component) CortexInhL4 = load_component(self.parameters.l4_cortex_inh.component) # Instance cortex_exc_l4 = CortexExcL4(self, self.parameters.l4_cortex_exc.params) cortex_inh_l4 = CortexInhL4(self, self.parameters.l4_cortex_inh.params) # ######################################################## # THALAMO-CORTICAL # initialize afferent layer 4 projections GaborConnector( self, self.input_layer.sheets['X_ON'], self.input_layer.sheets['X_OFF'], cortex_exc_l4, # target self.parameters.l4_cortex_exc.AfferentConnection, # parameters 'V1AffConnection' # name ) GaborConnector( self, self.input_layer.sheets['X_ON'], self.input_layer.sheets['X_OFF'], cortex_inh_l4, self.parameters.l4_cortex_inh.AfferentConnection, 'V1AffInhConnection' ) # ######################################################## # CORTICO-CORTICAL # random lateral layer 4 projections ModularSingleWeightProbabilisticConnector( self, 'V1L4ExcL4ExcConnectionRand', cortex_exc_l4, cortex_exc_l4, self.parameters.l4_cortex_exc.L4ExcL4ExcConnectionRand ).connect() ModularSingleWeightProbabilisticConnector( self, 'V1L4ExcL4InhConnectionRand', cortex_exc_l4, cortex_inh_l4, self.parameters.l4_cortex_exc.L4ExcL4InhConnectionRand ).connect() ModularSingleWeightProbabilisticConnector( self, 'V1L4InhL4ExcConnectionRand', cortex_inh_l4, cortex_exc_l4, self.parameters.l4_cortex_inh.L4InhL4ExcConnectionRand ).connect() ModularSingleWeightProbabilisticConnector( self, 'V1L4InhL4InhConnectionRand', cortex_inh_l4, cortex_inh_l4, self.parameters.l4_cortex_inh.L4InhL4InhConnectionRand ).connect() # lateral layer 4 projections ModularSamplingProbabilisticConnector( self, 'V1L4ExcL4ExcConnection', cortex_exc_l4, cortex_exc_l4, self.parameters.l4_cortex_exc.L4ExcL4ExcConnection ).connect() ModularSamplingProbabilisticConnector( self, 'V1L4ExcL4InhConnection', cortex_exc_l4, cortex_inh_l4, self.parameters.l4_cortex_exc.L4ExcL4InhConnection ).connect() ModularSamplingProbabilisticConnector( self, 'V1L4InhL4ExcConnection', cortex_inh_l4, cortex_exc_l4, self.parameters.l4_cortex_inh.L4InhL4ExcConnection ).connect() ModularSamplingProbabilisticConnector( self, 'V1L4InhL4InhConnection', cortex_inh_l4, cortex_inh_l4, self.parameters.l4_cortex_inh.L4InhL4InhConnection ).connect() ######################################################## # CORTICO-THALAMIC if withFeedback_CxLGN: ModularSamplingProbabilisticConnector( self, 'V1EffConnectionOn', cortex_exc_l4, self.input_layer.sheets['X_ON'], self.parameters.l4_cortex_exc.EfferentConnection_LGN ).connect() ModularSamplingProbabilisticConnector( self, 'V1EffConnectionOff', cortex_exc_l4, self.input_layer.sheets['X_OFF'], self.parameters.l4_cortex_exc.EfferentConnection_LGN ).connect() # GaborConnector( # self, # self.input_layer.sheets['X_ON'], # self.input_layer.sheets['X_OFF'], # cortex_exc_l4, # source # self.parameters.l4_cortex_exc.EfferentConnection, # parameters # 'V1EffConnection' # name # ) if withFeedback_CxPGN and withPGN: ModularSamplingProbabilisticConnector( self, 'V1EffConnectionPGN', cortex_exc_l4, pgn, self.parameters.l4_cortex_exc.EfferentConnection_PGN ).connect()
def __init__(self, sim, num_threads, parameters): Model.__init__(self, sim, num_threads, parameters) # Load components CortexExcL4 = load_component( self.parameters.sheets.l4_cortex_exc.component) CortexInhL4 = load_component( self.parameters.sheets.l4_cortex_inh.component) if not self.parameters.only_afferent and self.parameters.l23: CortexExcL23 = load_component( self.parameters.sheets.l23_cortex_exc.component) CortexInhL23 = load_component( self.parameters.sheets.l23_cortex_inh.component) RetinaLGN = load_component(self.parameters.sheets.retina_lgn.component) # Build and instrument the network self.visual_field = VisualRegion( location_x=self.parameters.visual_field.centre[0], location_y=self.parameters.visual_field.centre[1], size_x=self.parameters.visual_field.size[0], size_y=self.parameters.visual_field.size[1]) self.input_layer = RetinaLGN( self, self.parameters.sheets.retina_lgn.params ) # 'pyNN.spiNNaker' has no attribute 'StepCurrentSource' cortex_exc_l4 = CortexExcL4( self, self.parameters.sheets.l4_cortex_exc.params ) # spiNNaker has no attribute EIF_cond_exp_isfa_ista ->Iz cortex_inh_l4 = CortexInhL4( self, self.parameters.sheets.l4_cortex_inh.params) if not self.parameters.only_afferent and self.parameters.l23: cortex_exc_l23 = CortexExcL23( self, self.parameters.sheets.l23_cortex_exc.params) cortex_inh_l23 = CortexInhL23( self, self.parameters.sheets.l23_cortex_inh.params) # initialize afferent layer 4 projections GaborConnector(self, self.input_layer.sheets['X_ON'], self.input_layer.sheets['X_OFF'], cortex_exc_l4, self.parameters.sheets.l4_cortex_exc.AfferentConnection, 'V1AffConnection') GaborConnector(self, self.input_layer.sheets['X_ON'], self.input_layer.sheets['X_OFF'], cortex_inh_l4, self.parameters.sheets.l4_cortex_inh.AfferentConnection, 'V1AffInhConnection') # initialize lateral layer 4 projections if not self.parameters.only_afferent: ModularSamplingProbabilisticConnectorAnnotationSamplesCount( self, 'V1L4ExcL4ExcConnection', cortex_exc_l4, cortex_exc_l4, self.parameters.sheets.l4_cortex_exc.L4ExcL4ExcConnection ).connect() ModularSamplingProbabilisticConnectorAnnotationSamplesCount( self, 'V1L4ExcL4InhConnection', cortex_exc_l4, cortex_inh_l4, self.parameters.sheets.l4_cortex_exc.L4ExcL4InhConnection ).connect() ModularSamplingProbabilisticConnector( self, 'V1L4InhL4ExcConnection', cortex_inh_l4, cortex_exc_l4, self.parameters.sheets.l4_cortex_inh.L4InhL4ExcConnection ).connect() ModularSamplingProbabilisticConnector( self, 'V1L4InhL4InhConnection', cortex_inh_l4, cortex_inh_l4, self.parameters.sheets.l4_cortex_inh.L4InhL4InhConnection ).connect() if self.parameters.l23: # if False: # initialize afferent layer 4 to layer 2/3 projection ModularSamplingProbabilisticConnector( self, 'V1L4ExcL23ExcConnection', cortex_exc_l4, cortex_exc_l23, self.parameters.sheets.l23_cortex_exc. L4ExcL23ExcConnection).connect() ModularSamplingProbabilisticConnector( self, 'V1L4ExcL23InhConnection', cortex_exc_l4, cortex_inh_l23, self.parameters.sheets.l23_cortex_inh. L4ExcL23InhConnection).connect() ModularSamplingProbabilisticConnector( self, 'V1L23ExcL23ExcConnection', cortex_exc_l23, cortex_exc_l23, self.parameters.sheets.l23_cortex_exc. L23ExcL23ExcConnection).connect() ModularSamplingProbabilisticConnector( self, 'V1L23ExcL23InhConnection', cortex_exc_l23, cortex_inh_l23, self.parameters.sheets.l23_cortex_exc. L23ExcL23InhConnection).connect() ModularSamplingProbabilisticConnector( self, 'V1L23InhL23ExcConnection', cortex_inh_l23, cortex_exc_l23, self.parameters.sheets.l23_cortex_inh. L23InhL23ExcConnection).connect() ModularSamplingProbabilisticConnector( self, 'V1L23InhL23InhConnection', cortex_inh_l23, cortex_inh_l23, self.parameters.sheets.l23_cortex_inh. L23InhL23InhConnection).connect() if self.parameters.feedback: ModularSamplingProbabilisticConnector( self, 'V1L23ExcL4ExcConnection', cortex_exc_l23, cortex_exc_l4, self.parameters.sheets.l23_cortex_exc. L23ExcL4ExcConnection).connect() ModularSamplingProbabilisticConnector( self, 'V1L23ExcL4InhConnection', cortex_exc_l23, cortex_inh_l4, self.parameters.sheets.l23_cortex_exc. L23ExcL4InhConnection).connect()