public class Dense<T extends AbstractFloat = Float> extends Layer<T>
An affine layer: output = inputs @ weights + bias, in row-major layout. Batches have shape [samples, inputs]; outputs have shape [samples, units]. Optional relu, sigmoid, tanh or softmax activation is included in the layer. Training contexts retain pre-activations only for the current batch, avoiding a second matrix product.
layer = Dense<Float>(128, inputSize=784, seed=17)
| Modifier and Type | Member | Description |
|---|---|---|
| public readonly property | activationactivation as String |
Configured activation identifier. |
| public readonly property | biasbias as NDArray<T> |
Mutable zero-initialized bias [1, units]. |
| public override readonly property | displayNamedisplayName as String |
Affine stage and configured activation name. |
| public override readonly property | inputShapeHint | Known input width, or an empty shape until build. |
| public readonly property | inputSizeinputSize as ULong |
Number of input features; zero until a deferred layer is built. |
| public override readonly property | parameterCountparameterCount as ULong |
Two trainable matrices: weights, then bias. |
| public readonly property | seedseed as Long |
Initialization seed, retained in checkpoints. |
| public readonly property | unitsunits as ULong |
Number of output features. |
| public readonly property | weightsweights as NDArray<T> |
Mutable parameters [inputs, units]. |
| Modifier and Type | Member | Description |
|---|---|---|
| public | Dense | Allocates parameters using seeded Glorot uniform initialization. |
| Modifier and Type | Member | Description |
|---|---|---|
| public | backwardbackward(inputs as NDArray<T>, upstream as NDArray<T>) as DenseGradients<T> |
Computes exact affine derivatives using the current weights. |
| public override | backwardTrainingbackwardTraining(context as LayerPass<T>, upstream as NDArray<T>) as LayerGradients<T> |
Differentiates the saved affine result without repeating its matrix product. |
| public | build | Allocates seeded parameters once, or validates an existing input width. |
| public override | buildShape | Infers the input width from vector sample dimensions. |
| public override | differentiatedifferentiate(inputs as NDArray<T>, upstream as NDArray<T>) as LayerGradients<T> |
Adapts affine derivatives to the common layer contract. |
| public override | forward | Applies the affine transform followed by the configured activation. |
| public override | forwardTraining | Saves pre-activations in an explicit, batch-local backward context. |
| public override | parameter | Returns weights (0) or bias (1) without copying. |