66from bindsnet .network .topology_features import Weight , Bias
77from bindsnet .learning .MCC_learning import PostPre
88
9- network = Network (dt = 1.0 )
10- source_layer = LIFNodes (n = 5 , traces = True )
11- target_layer = LIFNodes (n = 5 , traces = True )
12-
13-
14- network .add_layer (source_layer , name = "input" )
15- network .add_layer (target_layer , name = "output" )
169
10+ network = Network (dt = 1.0 )
11+ neurons_number = 7
12+ layer = LIFNodes (n = neurons_number , traces = True )
13+ network .add_layer (layer , name = "input" )
14+ network .add_layer (layer , name = "output" )
15+ mask = ~ torch .tril (torch .ones ((neurons_number , neurons_number )), diagonal = - 1 ).bool ()
1716weight = Weight (
1817 name = 'weight_feature' ,
19- value = torch .rand (5 , 5 ) ,
18+ value = torch .rand (neurons_number , neurons_number ) * mask ,
2019 learning_rule = PostPre ,
2120 nu = (1e-4 , 1e-2 )
2221)
23- bias = Bias (name = 'bias_feature' , value = torch .rand (5 , 5 ))
24-
22+ bias = Bias (
23+ name = 'bias_feature' ,
24+ value = torch .rand (neurons_number , neurons_number )
25+ )
2526connection = MulticompartmentConnection (
26- source = source_layer ,
27- target = target_layer ,
27+ source = layer ,
28+ target = layer ,
2829 pipeline = [weight , bias ],
29- mask = ~ torch . tril ( torch . ones (( 5 , 5 )), diagonal = - 1 ). bool () ,
30+ mask = mask ,
3031 device = 'cpu'
3132)
3233network .add_connection (connection , source = "input" , target = "output" )
33- print (connection .pipeline [0 ].value )
3434network .run (
35- inputs = {"input" : torch .bernoulli (torch .rand (250 , 5 )).byte ()},
35+ inputs = {"input" : torch .bernoulli (torch .rand (250 , neurons_number )).byte ()},
3636 time = 250
37- )
38- print (connection .pipeline [0 ].value )
37+ )
0 commit comments