Brian (oprogramowanie)

Briana
Deweloperzy Romain Brette, Dan Goodman, Marcel Stimberg
Wersja stabilna
Edit this on Wikidata 2.5.1 / 23 czerwca 2022 ; 8 miesięcy temu ( 23 czerwca 2022 )
Magazyn
Napisane w Pyton
System operacyjny Międzyplatformowe
Typ Oprogramowanie sieci neuronowych
Licencja CeCILL
Strona internetowa www .briansimulator .org

Brian to pakiet Pythona o otwartym kodzie źródłowym do tworzenia symulacji sieci impulsowych neuronów.

Detale

Brian jest skierowany do badaczy opracowujących modele oparte na sieciach kolczastych neuronów . Ogólny projekt ma na celu maksymalizację elastyczności, prostoty i czasu rozwoju użytkowników. Użytkownicy określają modele neuronów, podając ich równania różniczkowe w standardowej postaci matematycznej jako ciągi, tworzą grupy neuronów i łączą je za pomocą synaps. Kontrastuje to z podejściem przyjętym przez wiele symulatorów neuronowych, w których użytkownicy wybierają z predefiniowanego zestawu modeli neuronów.

Brian jest napisany w Pythonie. Obliczeniowo opiera się na koncepcji generowania kodu: użytkownicy określają model w Pythonie, ale za kulisami Brian generuje, kompiluje i uruchamia kod w jednym z kilku języków (w tym Python, Cython i C++). Ponadto istnieje tryb „samodzielny”, w którym Brian generuje całe drzewo kodu źródłowego C++ bez zależności od Briana, umożliwiając uruchamianie modeli na platformach, na których Python nie jest dostępny.

Przykład

Poniższy kod definiuje, uruchamia i wykreśla losowo połączoną sieć nieszczelnych neuronów integrujących i odpalających z wykładniczymi prądami hamującymi i pobudzającymi.

Przykładowy wykres rastrowy z losowo połączonej sieci neuronów integrujących i odpalających z wykładniczymi prądami hamującymi i pobudzającymi.
   

  




     
    
  
  
    

    

  
  
    
 z  brian2  import  *  eqs  =  """  dv/dt = (ge+gi-(v+49*mV))/(20*ms) : volt  dge/dt = -ge/(5*ms) : volt  dgi/ dt = -gi/(10*ms): volt  """  P  =  grupa neuronów  (  4000  ,  eqs  ,  próg  =  "v>-50*mV"  ,  reset  =  "v=-60*mV"  )  P  .  v  =  -  60  *  mV  Pe  =  P  [:  3200  ]  Pi  =  P  [  3200  :]  Ce  =  Synapsy  (  Pe  ,  P  ,  on_pre  =  "ge+=1,62*mV"  )  Ce  .  połącz  (  p  =  0,02  )  Ci  =  Synapsy  (  Pi  ,  P  ,  on_pre  =  "gi-=9*mV"  )  Ci  .  połącz  (  p  =  0,02  )  M  =  SpikeMonitor  (  P  )  uruchom  (  1  *  sekunda  )  wykres  (  M.  t  /  ms  ,  M.  i  ,  .”  )  pokaż  (  ) 

Porównanie z innymi symulatorami

Brian jest przede wszystkim, choć nie wyłącznie, ukierunkowany na modele neuronów z pojedynczym przedziałem. Symulatory skupione na modelach wieloprzedziałowych to Neuron , GENESIS i jego pochodne.

Brian koncentruje się na elastyczności i łatwości użytkowania, a także obsługuje tylko symulacje działające na jednej maszynie. Symulator NEST zawiera narzędzia do dystrybucji symulacji w klastrze.

przypisy

Linki zewnętrzne