braincog.base.learningrule package

Submodules

braincog.base.learningrule.BCM module

class braincog.base.learningrule.BCM.BCM(node, connection, cfunc=None, weightdecay=0.99, tau=10)

基类:Module

BCM learning rule 多组神经元输入到该节点

cfunc(s)
forward(*x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool

braincog.base.learningrule.Hebb module

class braincog.base.learningrule.Hebb.Hebb(node, connection)

基类:Module

Hebb learning rule 多组神经元输入到该节点

forward(*x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool

braincog.base.learningrule.RSTDP module

class braincog.base.learningrule.RSTDP.RSTDP(node, connection, decay=0.99, reward_decay=0.5)

基类:Module

RSTDP算法

cal_trace(x)

计算trace

forward(*x, r)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()
training: bool

braincog.base.learningrule.STDP module

class braincog.base.learningrule.STDP.FullSTDP(node, connection, decay=0.99, decay2=0.99)

基类:Module

STDP learning rule 多组神经元输入到该节点

cal_tracein(x)

计算trace

cal_traceout(x)

计算trace

forward(*x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool
class braincog.base.learningrule.STDP.LTD(node, connection, decay=0.99)

基类:Module

STDP learning rule 多组神经元输入到该节点

cal_trace(x)

计算trace

forward(*x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool
class braincog.base.learningrule.STDP.LTP(node, connection, decay=0.99)

基类:MutliInputSTDP

STDP learning rule 多组神经元输入到该节点

training: bool
class braincog.base.learningrule.STDP.MutliInputSTDP(node, connection, decay=0.99)

基类:Module

STDP learning rule 多组神经元输入到该节点

cal_trace(x)

计算trace

forward(*x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool
class braincog.base.learningrule.STDP.STDP(node, connection, decay=0.99)

基类:Module

STDP learning rule

cal_trace(x)

计算trace

forward(x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool

braincog.base.learningrule.STP module

class braincog.base.learningrule.STP.short_time(SizeHistOutput)

基类:object

计算短期突触可塑性的变量详见Tsodyks和Markram 1997 :param Syn:突出可塑性结构体 :param ISI:棘突间期 :param Nsp:突触前棘波

IDderiv(np=None, v=None, dt=None, dv=None, NoiseSyn=None, flag_dv=None)

定义模型的常微分方程计算单个神经元常微分方程 :param np:神经元参数 :param v:当前变量 :param dt:时间步长

set_gsyn(np=None, dt=None, v=None, NoiseSyn=None)

突触电流参数计算

syndepr(Syn=None, ISI=None, Nsp=None)

短期突触可塑性计算

update(np=None, dt=None, NoiseSyn=None, flag_dv=None)

用二阶显式龙格-库塔法积分常微分方程 :param np:神经元参数 :param dt:时间步长

Module contents

class braincog.base.learningrule.BCM(node, connection, cfunc=None, weightdecay=0.99, tau=10)

基类:Module

BCM learning rule 多组神经元输入到该节点

cfunc(s)
forward(*x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool
class braincog.base.learningrule.FullSTDP(node, connection, decay=0.99, decay2=0.99)

基类:Module

STDP learning rule 多组神经元输入到该节点

cal_tracein(x)

计算trace

cal_traceout(x)

计算trace

forward(*x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool
class braincog.base.learningrule.Hebb(node, connection)

基类:Module

Hebb learning rule 多组神经元输入到该节点

forward(*x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool
class braincog.base.learningrule.LTD(node, connection, decay=0.99)

基类:Module

STDP learning rule 多组神经元输入到该节点

cal_trace(x)

计算trace

forward(*x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool
class braincog.base.learningrule.LTP(node, connection, decay=0.99)

基类:MutliInputSTDP

STDP learning rule 多组神经元输入到该节点

training: bool
class braincog.base.learningrule.MutliInputSTDP(node, connection, decay=0.99)

基类:Module

STDP learning rule 多组神经元输入到该节点

cal_trace(x)

计算trace

forward(*x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool
class braincog.base.learningrule.RSTDP(node, connection, decay=0.99, reward_decay=0.5)

基类:Module

RSTDP算法

cal_trace(x)

计算trace

forward(*x, r)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()
training: bool
class braincog.base.learningrule.STDP(node, connection, decay=0.99)

基类:Module

STDP learning rule

cal_trace(x)

计算trace

forward(x)

计算前向传播过程 :return:s是脉冲 dw更新量

reset()

重置

training: bool
class braincog.base.learningrule.short_time(SizeHistOutput)

基类:object

计算短期突触可塑性的变量详见Tsodyks和Markram 1997 :param Syn:突出可塑性结构体 :param ISI:棘突间期 :param Nsp:突触前棘波

IDderiv(np=None, v=None, dt=None, dv=None, NoiseSyn=None, flag_dv=None)

定义模型的常微分方程计算单个神经元常微分方程 :param np:神经元参数 :param v:当前变量 :param dt:时间步长

set_gsyn(np=None, dt=None, v=None, NoiseSyn=None)

突触电流参数计算

syndepr(Syn=None, ISI=None, Nsp=None)

短期突触可塑性计算

update(np=None, dt=None, NoiseSyn=None, flag_dv=None)

用二阶显式龙格-库塔法积分常微分方程 :param np:神经元参数 :param dt:时间步长