diff --git a/axon/act-layer.go b/axon/act-layer.go index 53366c1f..e2eed10b 100644 --- a/axon/act-layer.go +++ b/axon/act-layer.go @@ -1064,8 +1064,8 @@ func (ly *LayerParams) PlusPhasePost(ctx *Context) { hasRew := (GlobalScalars.Value(int(GvHasRew), int(di)) > 0) giveUp := (GlobalScalars.Value(int(GvGiveUp), int(di)) > 0) if hasRew || giveUp { - ly.DecayState(ctx, di, 1, 1, 1) // note: GPU will get, and GBuf are auto-cleared in NewState - for spi := uint32(0); spi < np; spi++ { // also clear the pool stats: GoalMaint depends on these.. + ly.DecayState(ctx, di, 1, 1, 1) + for spi := uint32(0); spi < np; spi++ { pi := ly.PoolIndex(spi) PoolAvgMaxZero(pi, di) } diff --git a/axon/act-layer.goal b/axon/act-layer.goal index 1c2a2e14..42a28674 100644 --- a/axon/act-layer.goal +++ b/axon/act-layer.goal @@ -1063,8 +1063,8 @@ func (ly *LayerParams) PlusPhasePost(ctx *Context) { hasRew := (GlobalScalars[GvHasRew, di] > 0) giveUp := (GlobalScalars[GvGiveUp, di] > 0) if hasRew || giveUp { - ly.DecayState(ctx, di, 1, 1, 1) // note: GPU will get, and GBuf are auto-cleared in NewState - for spi := uint32(0); spi < np; spi++ { // also clear the pool stats: GoalMaint depends on these.. + ly.DecayState(ctx, di, 1, 1, 1) + for spi := uint32(0); spi < np; spi++ { pi := ly.PoolIndex(spi) PoolAvgMaxZero(pi, di) } diff --git a/axon/learn-net.go b/axon/learn-net.go index 995077ec..cdbd9340 100644 --- a/axon/learn-net.go +++ b/axon/learn-net.go @@ -45,6 +45,7 @@ func (nt *Network) DWtToWt() { RunDWtSubMeanPath(int(nix.NPaths)) RunWtFromDWtSyn(int(nix.NSyns)) RunDoneSynapses() + // RunDone() // sig faster if ctx.SlowInc() { nt.SlowAdapt() ToGPUSynapses() diff --git a/axon/learn-net.goal b/axon/learn-net.goal index e6c95abf..e8fcad2a 100644 --- a/axon/learn-net.goal +++ b/axon/learn-net.goal @@ -43,7 +43,8 @@ func (nt *Network) DWtToWt() { RunDWtFromDiSyn(int(nix.NSyns)) RunDWtSubMeanPath(int(nix.NPaths)) RunWtFromDWtSyn(int(nix.NSyns)) - RunDoneSynapses() + RunDoneSynapses() + // RunDone() // sig faster if ctx.SlowInc() { nt.SlowAdapt() ToGPUSynapses() diff --git a/axon/rubicon-net.go b/axon/rubicon-net.go index f8249a42..f0ae17ca 100644 --- a/axon/rubicon-net.go +++ b/axon/rubicon-net.go @@ -557,7 +557,10 @@ func (nt *Network) AddOFCpos(ctx *Context, nUSs, nY, ofcY, ofcX int, space float ofcPT.AddDefaultParams(func(ly *LayerParams) { ly.Inhib.ActAvg.Nominal = 0.02 }) ofcPT.AddDefaultParams(func(ly *LayerParams) { ly.Inhib.Pool.On.SetBool(true) }) // ofcPT.AddDefaultParams(func(ly *LayerParams) { ly.Inhib.Pool.Gi = 2.0 }) - ofcPT.AddDefaultParams(func(ly *LayerParams) { ly.Acts.Dend.ModACh.SetBool(true) }) + ofcPT.AddDefaultParams(func(ly *LayerParams) { + ly.Acts.Dend.ModACh.SetBool(true) + ly.CT.OFCposPT.SetBool(true) + }) ofcPTp.AddDefaultParams(func(ly *LayerParams) { ly.Inhib.Pool.Gi = 1.0 }) ofcPTp.AddDefaultParams(func(ly *LayerParams) { ly.Inhib.ActAvg.Nominal = 0.1 })