Chapter 9
architecture — volumetric grid
github.com/openfluke/welvet/architecture✅
Why it exists
Networks are spatial (Depth×Rows×Cols×LayersPerCell), not only linear stacks. Topology lives here; compute lives in layer packages.
What it is
Grid/Cell/Coord, NewGrid, BindOp, HopOrder, SetRemoteLink/ResolveHop. VolumetricNetwork is an alias for Grid.
Go example
examples/09-architecture/main.go
Run:
cd welvet/examples/09-architecture && source ../env.sh && go run .package main
import (
"fmt"
"github.com/openfluke/welvet/architecture"
"github.com/openfluke/welvet/core"
"github.com/openfluke/welvet/layers/dense"
)
func main() {
g := architecture.NewGrid(1, 1, 2, 1) // depth, rows, cols, layersPerCell
l, _ := dense.New(4, 4, core.ActivationLinear, core.DTypeFloat32)
if err := dense.Place(g, 0, 0, 0, 0, l); err != nil {
panic(err)
}
_ = g.SetRemoteLink(0, 0, 1, 0, 0, 0, 0, 0) // spatial feedback hop
fmt.Println("cells", len(g.HopOrder()))
}
Output
cells 2