Documentation ¶
Index ¶
- Variables
- func AddPFC(nt *leabra.Network, name string, nPoolsY, nPoolsX, nNeurY, nNeurX int, ...) (super, ct, maint, out, pulv emer.Layer)
- type MaintLayer
- type Network
- func (nt *Network) AddBG(prefix string, nPoolsY, nPoolsX, nNeurY, nNeurX int, space float32) (...)
- func (nt *Network) AddPFC(name string, nPoolsY, nPoolsX, nNeurY, nNeurX int, pulvLay bool) (super, ct, maint, out, pulv emer.Layer)
- func (nt *Network) ConnectToMatrix(send, recv emer.Layer, pat prjn.Pattern) emer.Prjn
- func (nt *Network) Defaults()
- func (nt *Network) SynVarNames() []string
- func (nt *Network) UnitVarNames() []string
- func (nt *Network) UpdateParams()
- type OutLayer
- type OutParams
Constants ¶
This section is empty.
Variables ¶
var ( // NeuronVarsAll is the agate collection of all neuron-level vars NeuronVarsAll []string // SynVarsAll is the agate collection of all synapse-level vars (includes TraceSynVars) SynVarsAll []string )
var KiT_MaintLayer = kit.Types.AddType(&MaintLayer{}, leabra.LayerProps)
var KiT_Network = kit.Types.AddType(&Network{}, NetworkProps)
var KiT_OutLayer = kit.Types.AddType(&OutLayer{}, leabra.LayerProps)
var NetworkProps = deep.NetworkProps
Functions ¶
func AddPFC ¶
func AddPFC(nt *leabra.Network, name string, nPoolsY, nPoolsX, nNeurY, nNeurX int, pulvLay bool) (super, ct, maint, out, pulv emer.Layer)
AddPFC adds a PFC system including SuperLayer, CT with CTCtxtPrjn, MaintLayer, and OutLayer which is gated by BG. Name is set to "PFC" if empty. Other layers have appropriate suffixes. Optionally creates a TRC Pulvinar for Super. Standard Deep CTCtxtPrjn PoolOneToOne Super -> CT projection, and 1to1 projections Super -> Maint and Maint -> Out class PFCFixed are created by default. CT is placed Behind Super, then Out and Maint, and Pulvinar behind CT if created.
Types ¶
type MaintLayer ¶
type MaintLayer struct { glong.Layer InterInhib interinhib.InterInhib `desc:"inhibition from output layer"` }
MaintLayer is a layer with NMDA channels that supports active maintenance in frontal cortex, via NMDA channels (in an NMDAMaintPrjn).
func AddMaintLayer ¶
func AddMaintLayer(nt *leabra.Network, name string, nPoolsY, nPoolsX, nNeurY, nNeurX int) *MaintLayer
AddMaintLayer adds a MaintLayer using 4D shape with pools, and lateral NMDAMaint PoolOneToOne connectivity.
func (*MaintLayer) Defaults ¶
func (ly *MaintLayer) Defaults()
func (*MaintLayer) InhibFmGeAct ¶
func (ly *MaintLayer) InhibFmGeAct(ltime *leabra.Time)
InhibFmGeAct computes inhibition Gi from Ge and Act averages within relevant Pools
func (*MaintLayer) InterInhibMaxAct ¶
func (ly *MaintLayer) InterInhibMaxAct(ltime *leabra.Time) float32
InterInhibMaxAct returns the AlphaMax activation for source layers
type Network ¶
agate.Network has methods for configuring specialized AGate network components for Attentional & adaptive Gating of Action and Thought for Executive function.
func (*Network) AddBG ¶
func (nt *Network) AddBG(prefix string, nPoolsY, nPoolsX, nNeurY, nNeurX int, space float32) (mtxGo, mtxNo, cin, gpeOut, gpeIn, gpeTA, stnp, stns, gpi, vthal leabra.LeabraLayer)
AddBG adds MtxGo, No, CIN, GPeOut, GPeIn, GPeTA, STNp, STNs, GPi, and VThal layers, with given optional prefix. Assumes that a 4D structure will be used, with Pools representing separable gating domains. Only Matrix has more than 1 unit per Pool by default. Appropriate PoolOneToOne connections are made between layers, using standard styles. space is the spacing between layers (2 typical)
func (*Network) AddPFC ¶
func (nt *Network) AddPFC(name string, nPoolsY, nPoolsX, nNeurY, nNeurX int, pulvLay bool) (super, ct, maint, out, pulv emer.Layer)
AddPFC adds a PFC system including SuperLayer, CT with CTCtxtPrjn, MaintLayer, and OutLayer which is gated by BG. Name is set to "PFC" if empty. Other layers have appropriate suffixes. Optionally creates a TRC Pulvinar for Super. CT is placed Behind Super, then Out and Maint, and Pulvinar behind CT if created.
func (*Network) ConnectToMatrix ¶
ConnectToMatrix adds a MatrixTracePrjn from given sending layer to a matrix layer
func (*Network) Defaults ¶
func (nt *Network) Defaults()
Defaults sets all the default parameters for all layers and projections
func (*Network) SynVarNames ¶
SynVarNames returns the names of all the variables on the synapses in this network.
func (*Network) UnitVarNames ¶
UnitVarNames returns a list of variable names available on the units in this layer
func (*Network) UpdateParams ¶
func (nt *Network) UpdateParams()
UpdateParams updates all the derived parameters if any have changed, for all layers and projections
type OutLayer ¶
type OutLayer struct { MaintLayer Out OutParams `desc:"Parameters for output layer function"` }
OutLayer is a frontal cortex output layer (L5 PM), which typically is interconnected with Ventral Thalamus (VM / VA etc) for output gating, and also NMDAPrjn maintenance.
func AddOutLayer ¶
AddOutLayer adds a OutLayer using 4D shape with pools, and lateral PoolOneToOne connectivity.
func (*OutLayer) MaintLay ¶
func (ly *OutLayer) MaintLay() (*MaintLayer, error)
MaintLay returns the MaintLay by name
func (*OutLayer) ResetMaint ¶
ResetMaint resets the maintenance layer if activation is above threshold