bench

package
v2.0.0-dev0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 22, 2024 License: BSD-3-Clause Imports: 11 Imported by: 0

README

Bench LVis

bench_lvis is supposed to be an easy-to-understand, easy-to-run network that nevertheless has the same performance characteristics as the big LVis network. It is parameterized by default to match the size and performance characteristics of the standard LVis model.

As compared to examples/bench_objrec, bench_lvis has much less code.

See bench_results and lvis_actual for results on Mac, Linux AMD EPYC and GPU (M1 vs. A100), on the benchmark and the actual LVis model.

Documentation

Overview

bench runs a benchmark model with 5 layers (3 hidden, Input, Output) all of the same size, for benchmarking different size networks. These are not particularly realistic models for actual applications (e.g., large models tend to have much more topographic patterns of connectivity and larger layers with fewer connections), but they are easy to run..

Index

Constants

This section is empty.

Variables

View Source
var ParamSets = params.Sets{
	"Base": {Desc: "these are the best params", Sheets: params.Sheets{
		"Network": &params.Sheet{
			{Sel: "Path", Desc: "",
				Params: params.Params{
					"Path.Learn.LRate.Base":    "0.005",
					"Path.Learn.Trace.SubMean": "0",
					"Path.SWts.Adapt.LRate":    "0.1",
					"Path.SWts.Init.SPct":      "0.5",
				}},
			{Sel: "Layer", Desc: "",
				Params: params.Params{
					"Layer.Inhib.ActAvg.Nominal": "0.08",
					"Layer.Inhib.Layer.Gi":       "1.05",
					"Layer.Acts.Gbar.L":          "0.2",
				}},
			{Sel: "#Input", Desc: "",
				Params: params.Params{
					"Layer.Inhib.Layer.Gi": "0.9",
					"Layer.Acts.Clamp.Ge":  "1.5",
				}},
			{Sel: "#Output", Desc: "",
				Params: params.Params{
					"Layer.Inhib.Layer.Gi": "0.70",
					"Layer.Acts.Clamp.Ge":  "0.8",
				}},
			{Sel: ".BackPath", Desc: "top-down back-pathways MUST have lower relative weight scale, otherwise network hallucinates",
				Params: params.Params{
					"Path.PathScale.Rel": "0.2",
				}},
		},
	}},
}

Functions

func ConfigEpcLog

func ConfigEpcLog(dt *table.Table)

func ConfigNet

func ConfigNet(ctx *axon.Context, net *axon.Network, inputNeurs, inputPools, pathways, hiddenNeurs, outputDim, threads, maxData int, verbose bool)

func ConfigPats

func ConfigPats(pats *table.Table, numPats int, inputShape [2]int, outputShape [2]int)

func TrainNet

func TrainNet(ctx *axon.Context, net *axon.Network, pats, epcLog *table.Table, pathways, epcs int, verbose, gpu bool)

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL