Changeset 30895 in project


Ignore:
Timestamp:
05/18/14 13:34:36 (6 years ago)
Author:
Ivan Raikov
Message:

9ML-toolkit: updates to network code generation template

Location:
release/4/9ML-toolkit/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • release/4/9ML-toolkit/trunk/examples/Brunel00/AlphaPSR.xml

    r30883 r30895  
    77
    88    <Parameter name="tau_syn" dimension='time'/> <!-- synapse time constant -->
    9 
    10     <Parameter name="scale" /> <!-- scaling factor -->
    119
    1210    <EventPort name="spike"/>
     
    2927         
    3028          <TimeDerivative variable="A">
    31             <MathInline> (- A) / (tau_syn * 0.9999) </MathInline>
     29            <MathInline> (B - A) / tau_syn </MathInline>
    3230          </TimeDerivative>
    3331
     
    3735
    3836          <StateAssignment variable="Isyn" >
    39             <MathInline> B - A </MathInline>
     37            <MathInline> A </MathInline>
    4038          </StateAssignment>
    4139
     
    4341           
    4442            <StateAssignment variable="A" >
    45               <MathInline> A + Ispike * scale </MathInline>
     43              <MathInline> A * exp (- h / tau_syn) + ((B * h * exp (- h / tau_syn)) / tau_syn) </MathInline>
    4644            </StateAssignment>
    4745
    4846            <StateAssignment variable="B" >
    49               <MathInline> B + Ispike * scale </MathInline>
     47              <MathInline> B * exp (- h / tau_syn) + Ispike * h </MathInline>
    5048            </StateAssignment>
    5149
    5250            <StateAssignment variable="Isyn" >
    53               <MathInline> B - A </MathInline>
     51              <MathInline> A </MathInline>
    5452            </StateAssignment>
    5553
  • release/4/9ML-toolkit/trunk/examples/Brunel00/Brunel_network_alpha.xml

    r30883 r30895  
    258258  </Component>
    259259
    260   <Component name="Syn">
     260  <Component name="ISyn">
    261261   
    262262    <Definition>
     
    271271      </Property>
    272272
     273      <Initial>
     274        <label>A</label>
     275        <value>0.0</value>
     276      </Initial>
     277
     278      <Initial>
     279        <label>B</label>
     280        <value>0.0</value>
     281      </Initial>
     282
     283      <Initial>
     284        <label>spike</label>
     285        <value>false</value>
     286      </Initial>
     287
     288      <Initial>
     289        <label>tspike</label>
     290        <value>0.0</value>
     291      </Initial>
     292
     293      <Initial>
     294        <label>Ispike</label>
     295        <value>0.0</value>
     296      </Initial>
     297     
     298      <Initial>
     299        <label>Isyn</label>
     300        <value>0.0</value>
     301      </Initial>
     302     
     303    </properties>
     304   
     305  </Component>
     306
     307  <Component name="ESyn">
     308   
     309    <Definition>
     310      <link> AlphaPSR.xml </link>
     311    </Definition>
     312   
     313    <properties>
     314
    273315      <Property>
    274         <label>scale</label>
    275         <value><MathInline>2718.3</MathInline></value>
     316        <label>tau_syn</label>
     317        <value><MathInline>tau_syn</MathInline></value>
    276318      </Property>
    277319
     
    407449      <target><reference>All neurons</reference></target>
    408450      <rule operator="all-to-all"/>
    409       <response><reference>Syn</reference></response>
     451      <response><reference>ESyn</reference></response>
    410452      <plasticity><reference>ExternalPlasticity</reference></plasticity>
    411453    </Projection>
     
    419461        <state>connection</state>
    420462      </rule>
    421       <response><reference>Syn</reference></response>
     463      <response><reference>ESyn</reference></response>
    422464      <plasticity><reference>ExcitatoryPlasticity</reference></plasticity>
    423465    </Projection>
     
    431473        <state>connection</state>
    432474      </rule>
    433       <response><reference>Syn</reference></response>
     475      <response><reference>ISyn</reference></response>
    434476      <plasticity><reference>InhibitoryPlasticity</reference></plasticity>
    435477    </Projection>
  • release/4/9ML-toolkit/trunk/templates/Network.sml.tmpl

    r30881 r30895  
    140140        val nstate' = {{ psr.value.copyStateML }}
    141141    in
    142         RTensor.update(W,[i,0],(#Isyn nstate'));
     142        RTensor.update(W,[i,0],Real.+(RTensor.sub(W,[i,0]),(#Isyn nstate)));
    143143        nstate'
    144144    end
     
    204204             ) =
    205205        let
    206             {% if group.psrtypes %}{% for psr in dict (group.psrtypes) %}
     206            {% if group.psrtypes %}
    207207            val (W,T) = case I of SOME (W,T) => (W,T)
    208208                             | NONE => (RTensor.new ([N,1],0.0),
    209209                                        RTensor.new ([N,1],0.0))
    210 
     210            {% for psr in dict (group.psrtypes) %}
    211211            val {{psr.name}}_state_vector' =
    212212                Vector.mapi ({{psr.name}}_response (W,T))
    213213                            {{psr.name}}_state_vector
    214214
    215             {% endfor %}{% endif %}
     215            {% endfor %}{% else %}
     216            val W = case I of SOME (W,T) => W
     217                            | NONE => RTensor.new ([N,1],0.0)
     218            {% endif %}
    216219        in
    217             ({% if group.psrtypes %}SOME W{% else %}W{% endif %},
     220            (SOME W,
    218221             (
    219222              {% if group.psrtypes %}{% for psr in dict (group.psrtypes) %}
Note: See TracChangeset for help on using the changeset viewer.