-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypegen.go
21 lines (12 loc) · 7.62 KB
/
typegen.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Code generated by "core generate -add-types"; DO NOT EDIT.
package kinase
import (
"cogentcore.org/core/types"
)
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/kinase.Linear", IDName: "linear", Doc: "Linear performs a linear regression to approximate the synaptic Ca\nintegration between send and recv neurons.", Fields: []types.Field{{Name: "Neuron", Doc: "Kinase Neuron params"}, {Name: "Synapse", Doc: "Kinase Synapse params"}, {Name: "BinProd", Doc: "gain on S*R product for SpikeBins"}, {Name: "NCycles", Doc: "total number of cycles (1 MSec) to run"}, {Name: "PlusCycles", Doc: "number of plus cycles"}, {Name: "CyclesPerBin", Doc: "CyclesPerBin specifies the bin size for accumulating spikes"}, {Name: "NumBins", Doc: "NumBins = NCycles / CyclesPerBin"}, {Name: "MaxHz", Doc: "MaxHz is the maximum firing rate to sample in minus, plus phases"}, {Name: "StepHz", Doc: "StepHz is the step size for sampling Hz"}, {Name: "NTrials", Doc: "NTrials is number of trials per Hz case"}, {Name: "TotalTrials", Doc: "Total Trials is number of trials for all data"}, {Name: "Send", Doc: "Sending neuron"}, {Name: "Recv", Doc: "Receiving neuron"}, {Name: "StdSyn", Doc: "Standard synapse values"}, {Name: "LinearSyn", Doc: "Linear synapse values"}, {Name: "ErrDWt", Doc: "ErrDWt is the target error dwt: PlusHz - MinusHz"}, {Name: "SpikeBins", Doc: "binned integration of send, recv spikes"}, {Name: "Data", Doc: "Data to fit the regression"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/kinase.Neuron", IDName: "neuron", Doc: "Neuron has Neuron state", Fields: []types.Field{{Name: "Spike", Doc: "Neuron spiking (0,1)"}, {Name: "SpikeP", Doc: "Neuron probability of spiking"}, {Name: "CaSyn", Doc: "CaSyn is spike-driven calcium trace for synapse-level Ca-driven learning: exponential integration of SpikeG * Spike at SynTau time constant (typically 30). Synapses integrate send.CaSyn * recv.CaSyn across M, P, D time integrals for the synaptic trace driving credit assignment in learning. Time constant reflects binding time of Glu to NMDA and Ca buffering postsynaptically, and determines time window where pre * post spiking must overlap to drive learning."}, {Name: "CaSpkM", Doc: "neuron-level spike-driven Ca integration"}, {Name: "CaSpkP", Doc: "neuron-level spike-driven Ca integration"}, {Name: "CaSpkD", Doc: "neuron-level spike-driven Ca integration"}, {Name: "TotalSpikes"}, {Name: "SpikeBins", Doc: "binned count of spikes, for regression learning"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/kinase.Synapse", IDName: "synapse", Doc: "Synapse has Synapse state", Fields: []types.Field{{Name: "CaSyn"}, {Name: "CaM", Doc: "CaM is first stage running average (mean) Ca calcium level (like CaM = calmodulin), feeds into CaP"}, {Name: "CaP", Doc: "CaP is shorter timescale integrated CaM value, representing the plus, LTP direction of weight change and capturing the function of CaMKII in the Kinase learning rule"}, {Name: "CaD", Doc: "CaD is longer timescale integrated CaP value, representing the minus, LTD direction of weight change and capturing the function of DAPK1 in the Kinase learning rule"}, {Name: "DWt", Doc: "DWt is the CaP - CaD"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/kinase.CaDtParams", IDName: "ca-dt-params", Doc: "CaDtParams has rate constants for integrating Ca calcium\nat different time scales, including final CaP = CaMKII and CaD = DAPK1\ntimescales for LTP potentiation vs. LTD depression factors.", Directives: []types.Directive{{Tool: "gosl", Directive: "start", Args: []string{"kinase"}}, {Tool: "types", Directive: "add"}}, Fields: []types.Field{{Name: "MTau", Doc: "CaM (calmodulin) time constant in cycles (msec) -- for synaptic-level integration this integrates on top of Ca signal from send->CaSyn * recv->CaSyn, each of which are typically integrated with a 30 msec Tau."}, {Name: "PTau", Doc: "LTP spike-driven Ca factor (CaP) time constant in cycles (msec), simulating CaMKII in the Kinase framework, with 40 on top of MTau roughly tracking the biophysical rise time. Computationally, CaP represents the plus phase learning signal that reflects the most recent past information."}, {Name: "DTau", Doc: "LTD spike-driven Ca factor (CaD) time constant in cycles (msec), simulating DAPK1 in Kinase framework. Computationally, CaD represents the minus phase learning signal that reflects the expectation representation prior to experiencing the outcome (in addition to the outcome). For integration equations, this cannot be identical to PTau."}, {Name: "ExpAdj", Doc: "if true, adjust dt time constants when using exponential integration equations to compensate for difference between discrete and continuous integration"}, {Name: "MDt", Doc: "rate = 1 / tau"}, {Name: "PDt", Doc: "rate = 1 / tau"}, {Name: "DDt", Doc: "rate = 1 / tau"}, {Name: "M4Dt", Doc: "4 * rate = 1 / tau"}, {Name: "P4Dt", Doc: "4 * rate = 1 / tau"}, {Name: "D4Dt", Doc: "4 * rate = 1 / tau"}, {Name: "pad"}, {Name: "pad1"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/kinase.NeurCaParams", IDName: "neur-ca-params", Doc: "NeurCaParams parameterizes the neuron-level spike-driven calcium\nsignals, starting with CaSyn that is integrated at the neuron level\nand drives synapse-level, pre * post Ca integration, which provides the Tr\ntrace that multiplies error signals, and drives learning directly for Target layers.\nCaSpk* values are integrated separately at the Neuron level and used for UpdateThr\nand RLRate as a proxy for the activation (spiking) based learning signal.", Fields: []types.Field{{Name: "SpikeG", Doc: "SpikeG is a gain multiplier on spike impulses for computing CaSpk:\nincreasing this directly affects the magnitude of the trace values,\nlearning rate in Target layers, and other factors that depend on CaSpk\nvalues, including RLRate, UpdateThr.\nLarger networks require higher gain factors at the neuron level:\n12, vs 8 for smaller."}, {Name: "SynTau", Doc: "time constant for integrating spike-driven calcium trace at sender and recv\nneurons, CaSyn, which then drives synapse-level integration of the\njoint pre * post synapse-level activity, in cycles (msec).\nNote: if this param is changed, then there will be a change in effective\nlearning rate that can be compensated for by multiplying\nPathParams.Learn.KinaseCa.CaScale by sqrt(30 / sqrt(SynTau)"}, {Name: "SynDt", Doc: "rate = 1 / tau"}, {Name: "pad"}, {Name: "Dt", Doc: "time constants for integrating CaSpk across M, P and D cascading levels -- these are typically the same as in CaLrn and Path level for synaptic integration, except for the M factor."}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/kinase.SynCaParams", IDName: "syn-ca-params", Doc: "SynCaParams has rate constants for integrating spike-driven Ca calcium\nat different time scales, including final CaP = CaMKII and CaD = DAPK1\ntimescales for LTP potentiation vs. LTD depression factors.", Directives: []types.Directive{{Tool: "types", Directive: "add"}}, Fields: []types.Field{{Name: "CaScale", Doc: "CaScale is a scaling multiplier on synaptic Ca values,\nwhich due to the multiplication of send * recv are smaller in magnitude.\nThe default 12 value keeps them in roughly the unit scale,\nand affects effective learning rate."}, {Name: "MaxISI", Doc: "maximum ISI for integrating in Opt mode -- above that just set to 0"}, {Name: "pad"}, {Name: "pad1"}, {Name: "Dt", Doc: "time constants for integrating at M, P, and D cascading levels"}}})
var _ = types.AddType(&types.Type{Name: "github.com/emer/axon/v2/kinase.Rules", IDName: "rules", Doc: "Rules are different options for Kinase-based learning rules\nThese are now implemented using separate Path types in kinasex"})