← OpenFluke

Chapter 35

systems/tween

github.com/openfluke/welvet/systems/tween


Why it exists

Target propagation (chain-rule or Hebbian layerwise gaps) is an alternative credit-assignment path.

What it is

NewState, Forward, BackwardChainRule / BackwardLayerwise, ApplyGaps; SIMD DotTile/Saxpy budgets.

Go example

examples/35-tween/main.go

Run:cd welvet/examples/35-tween && source ../env.sh && go run .
package main

import (
	"fmt"

	"github.com/openfluke/welvet/architecture"
	"github.com/openfluke/welvet/core"
	"github.com/openfluke/welvet/systems/tween"
)

func main() {
	g := architecture.NewGrid(1, 1, 1, 1)
	st := tween.NewState[float32](g, tween.DefaultConfig())
	_, err := tween.Forward(g, st, core.NewTensor[float32](1, 4))
	fmt.Println(err)
}

Output

exit 0 · last run via go run .

forward: no op at {0 0 0 0} (type Dense)