kfn forward()

This commit is contained in:
ton
2023-07-24 14:25:57 +07:00
parent 1e08a4d750
commit ff9909fd8d

View File

@@ -73,7 +73,7 @@ function (kfn::kfn_1)(input::AbstractArray)
reshape(kfn.alif_zt1, (d1, :, 1, d3)), dims=2) reshape(kfn.alif_zt1, (d1, :, 1, d3)), dims=2)
kfn.zit .= reshape(_zit, (d1, :, d3)) kfn.zit .= reshape(_zit, (d1, :, d3))
#WORKING read out # read out
onForward( kfn.zit, onForward( kfn.zit,
kfn.on_zit, kfn.on_zit,
kfn.on_wRec, kfn.on_wRec,
@@ -231,7 +231,7 @@ function onForward(kfn_zit,
zit .= reshape(kfn_zit, (d1, d2, 1, d4)) .* ones(size(wRec)...) # project zit into zit zit .= reshape(kfn_zit, (d1, d2, 1, d4)) .* ones(size(wRec)...) # project zit into zit
for j in 1:d4, i in 1:d3 # compute along neurons axis of every batch for j in 1:d4, i in 1:d3 # compute along neurons axis of every batch
if view(refractoryCounter, :, :, i, j)[1] > 0 # refractory period is active if view(refractoryCounter, :, :, i, j)[1] > 0 # neuron is inactive (in refractory period)
view(refractoryCounter, :, :, i, j)[1] -= 1 view(refractoryCounter, :, :, i, j)[1] -= 1
view(zt1, :, :, i, j)[1] = 0 view(zt1, :, :, i, j)[1] = 0
view(vt1, :, :, i, j)[1] = view(vt1, :, :, i, j)[1] =
@@ -239,7 +239,7 @@ function onForward(kfn_zit,
view(phi, :, :, i, j)[1] = 0.0 view(phi, :, :, i, j)[1] = 0.0
view(epsilonRec, :, :, i, j) .= view(alpha, :, :, i, j)[1] .* view(epsilonRec, :, :, i, j) .= view(alpha, :, :, i, j)[1] .*
view(epsilonRec, :, :, i, j) view(epsilonRec, :, :, i, j)
else # refractory period is inactive else # neuron is active
view(vt1, :, :, i, j)[1] = view(vt1, :, :, i, j)[1] =
(view(alpha, :, :, i, j)[1] * view(vt0,:, :, i, j)[1]) + (view(alpha, :, :, i, j)[1] * view(vt0,:, :, i, j)[1]) +
sum(view(zit, :, :, i, j) .* view(wRec, :, :, i, j)) sum(view(zit, :, :, i, j) .* view(wRec, :, :, i, j))