braincog.base.learningrule package
Submodules
braincog.base.learningrule.BCM module
braincog.base.learningrule.Hebb module
braincog.base.learningrule.RSTDP module
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)
-
STDP learning rule 多组神经元输入到该节点
- 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)
-
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:时间步长