Documentation ¶
Index ¶
- Variables
- type Stats
- func (st *Stats) ActRFsAvgNorm()
- func (st *Stats) ClosestPat(net emer.Network, layNm, unitVar string, pats *etable.Table, ...) (int, float32, string)
- func (st *Stats) ConfigRasters(net emer.Network, maxCyc int, layers []string)
- func (st *Stats) F32Tensor(name string) *etensor.Float32
- func (st *Stats) F64Tensor(name string) *etensor.Float64
- func (st *Stats) Float(name string) float64
- func (st *Stats) Init()
- func (st *Stats) InitActRFs(net emer.Network, arfs []string, varnm string) error
- func (st *Stats) Int(name string) int
- func (st *Stats) IntTensor(name string) *etensor.Int
- func (st *Stats) PCAStats(ix *etable.IdxView, varNm string, layers []string)
- func (st *Stats) Print(stats []string) string
- func (st *Stats) PrintVals(stats, fmts []string, delim string) string
- func (st *Stats) RasterRec(net emer.Network, cyc int, varNm string)
- func (st *Stats) ResetStartTimer(name string) *timer.Time
- func (st *Stats) ResetTimer(name string) *timer.Time
- func (st *Stats) SetF32Tensor(name string, tsr *etensor.Float32)
- func (st *Stats) SetF64Tensor(name string, tsr *etensor.Float64)
- func (st *Stats) SetFloat(name string, value float64)
- func (st *Stats) SetInt(name string, value int)
- func (st *Stats) SetIntTensor(name string, tsr *etensor.Int)
- func (st *Stats) SetLayerRepTensor(net emer.Network, layNm, unitVar string) *etensor.Float32
- func (st *Stats) SetLayerTensor(net emer.Network, layNm, unitVar string) *etensor.Float32
- func (st *Stats) SetRasterCol(sr, tsr *etensor.Float32, col int)
- func (st *Stats) SetString(name string, value string)
- func (st *Stats) SimMat(name string) *simat.SimMat
- func (st *Stats) StartTimer(name string) *timer.Time
- func (st *Stats) StopTimer(name string) *timer.Time
- func (st *Stats) String(name string) string
- func (st *Stats) Timer(name string) *timer.Time
- func (st *Stats) UpdateActRFs(net emer.Network, varnm string, thr float32)
Constants ¶
This section is empty.
Variables ¶
var PCAStrongThr = 0.01
PCAStrongThr is the threshold for counting PCA eigenvalues as "strong"
Functions ¶
This section is empty.
Types ¶
type Stats ¶
type Stats struct { Floats map[string]float64 Strings map[string]string Ints map[string]int F32Tensors map[string]*etensor.Float32 `desc:"float32 tensors used for grabbing values from layers"` F64Tensors map[string]*etensor.Float64 `desc:"float64 tensors as needed for other computations"` IntTensors map[string]*etensor.Int `desc:"int tensors as needed for other computations"` Confusion confusion.Matrix `view:"no-inline" desc:"confusion matrix"` SimMats map[string]*simat.SimMat `desc:"similarity matrix for comparing pattern similarities"` PCA pca.PCA `desc:"one PCA object can be reused for all PCA computations"` ActRFs actrf.RFs `view:"no-inline" desc:"activation-based receptive fields"` Rasters []string `desc:"list of layer names configured for recording raster plots"` Timers map[string]*timer.Time `desc:"named timers available for timing how long different computations take (wall-clock time)"` }
Stats provides maps for storing statistics as named scalar and tensor values. These stats are available in the elog.Context for use during logging.
func (*Stats) ActRFsAvgNorm ¶ added in v1.1.56
func (st *Stats) ActRFsAvgNorm()
ActRFsAvgNorm calls Avg() then Norm() on ActRFs -- this is the standard way to visualize the RFs
func (*Stats) ClosestPat ¶
func (st *Stats) ClosestPat(net emer.Network, layNm, unitVar string, pats *etable.Table, colnm, namecol string) (int, float32, string)
ClosestStat finds the closest pattern in given column of given table of possible patterns, compared to layer activation pattern using given variable. Returns the row number, correlation value, and value of a column named namecol for that row if non-empty. Column must be etensor.Float32
func (*Stats) ConfigRasters ¶
ConfigRasters configures spike rasters for given maximum number of cycles and layer names.
func (*Stats) F32Tensor ¶
F32Tensor returns a float32 tensor of given name, creating if not yet made
func (*Stats) F64Tensor ¶
F64Tensor returns a float64 tensor of given name, creating if not yet made
func (*Stats) InitActRFs ¶ added in v1.1.56
InitActRFs initializes a set of activation-based receptive field (ActRF) statistics, which record activation-weighted averaging of other tensor states, which can be activations in other layers, or external sensory inputs, or any kind of analytic pattern that helps to decode what the network is doing. The input is a list of colon-separated "Layer:Source" strings, where 'Layer' refers to a name of a layer in the given network, and 'Source' is either the name of another layer (checked first) or the name of a tensor stored in F32Tensors (if layer name not found). If Source is not a layer, it must be populated prior to these calls.
func (*Stats) IntTensor ¶ added in v1.2.1
IntTensor returns a int tensor of given name, creating if not yet made
func (*Stats) PCAStats ¶
PCAStats computes PCA statistics on recorded hidden activation patterns on given log table (IdxView), and given list of layer names and variable name -- columns named "layer_var". Helpful for measuring the overall information (variance) in the representations to detect a common failure mode where a few patterns dominate over everything ("hogs"). Records Float stats as: layer_PCA_NStrong: number of eigenvalues above the PCAStrongThr threshold layer_PCA_Top5: average strength of top 5 eigenvalues layer_PCA_Next5: average strength of next 5 eigenvalues layer_PCA_Rest: average strength of remaining eigenvalues (if more than 10 total eigens)
func (*Stats) Print ¶
Print returns a formatted Name: Value string of stat values, suitable for displaying at the bottom of the NetView or otherwise printing. Looks for names of stats in order of fields in Stats object (Floats, Strings, Ints)
func (*Stats) PrintVals ¶ added in v1.3.3
PrintVals returns values of given stats with given formats, and delimiter
func (*Stats) RasterRec ¶
RasterRec records data from layers configured with ConfigRasters using variable name, for given cycle number (X axis index)
func (*Stats) ResetStartTimer ¶
ResetStartTimer resets then starts given named timer
func (*Stats) ResetTimer ¶
ResetTimer resets given named timer
func (*Stats) SetF32Tensor ¶ added in v1.1.56
SetF32Tensor sets a float32 tensor of given name. Just does: st.F32Tensors[name] = tsr
func (*Stats) SetF64Tensor ¶ added in v1.1.56
SetF64Tensor sets a float64 tensor of given name. Just does: st.F64Tensors[name] = tsr
func (*Stats) SetIntTensor ¶ added in v1.2.1
SetIntTensor sets a int tensor of given name. Just does: st.IntTensors[name] = tsr
func (*Stats) SetLayerRepTensor ¶ added in v1.1.55
SetLayerRepTensor sets tensor of representative Unit values on a layer for given variable to a F32Tensor with name = layNm
func (*Stats) SetLayerTensor ¶
SetLayerTensor sets tensor of Unit values on a layer for given variable to a F32Tensor with name = layNm
func (*Stats) SetRasterCol ¶
SetRasterCol sets column of given raster from data
func (*Stats) SimMat ¶
SimMat returns a SimMat similarity matrix of given name, creating if not yet made
func (*Stats) StartTimer ¶
StartTimer starts given named timer
func (*Stats) UpdateActRFs ¶ added in v1.1.56
UpdateActRFs updates activation-based receptive fields with a new sample of data from current network state, and updated state values which must be already updated in F32Tensors. Must have called InitActRFs first -- see it for documentation. Uses RFs configured then, grabbing network values from variable varnm, and given threshold (0.01 recommended)