loss

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package loss provides various loss functions for neural networks.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CrossEntropyLoss

type CrossEntropyLoss[T tensor.Numeric] struct {
	// contains filtered or unexported fields
}

CrossEntropyLoss computes the cross-entropy loss.

func NewCrossEntropyLoss

func NewCrossEntropyLoss[T tensor.Numeric](engine compute.Engine[T]) *CrossEntropyLoss[T]

NewCrossEntropyLoss creates a new CrossEntropyLoss layer.

func (*CrossEntropyLoss[T]) Attributes added in v0.3.0

func (cel *CrossEntropyLoss[T]) Attributes() map[string]interface{}

Attributes returns the attributes of the CrossEntropyLoss layer.

func (*CrossEntropyLoss[T]) Backward

func (cel *CrossEntropyLoss[T]) Backward(ctx context.Context, _ types.BackwardMode, dOut *tensor.TensorNumeric[T], _ ...*tensor.TensorNumeric[T]) ([]*tensor.TensorNumeric[T], error)

Backward computes the gradients for CrossEntropyLoss.

func (*CrossEntropyLoss[T]) Forward

func (cel *CrossEntropyLoss[T]) Forward(ctx context.Context, inputs ...*tensor.TensorNumeric[T]) (*tensor.TensorNumeric[T], error)

Forward computes the cross-entropy loss. Inputs: predictions (logits as T), targets (labels as T that will be converted to int indices).

func (*CrossEntropyLoss[T]) OpType added in v0.3.0

func (cel *CrossEntropyLoss[T]) OpType() string

OpType returns the operation type of the CrossEntropyLoss layer.

func (*CrossEntropyLoss[T]) OutputShape

func (cel *CrossEntropyLoss[T]) OutputShape() []int

OutputShape returns the output shape of the loss (a scalar).

func (*CrossEntropyLoss[T]) Parameters

func (cel *CrossEntropyLoss[T]) Parameters() []*graph.Parameter[T]

Parameters returns an empty slice as CrossEntropyLoss has no trainable parameters.

type Loss

type Loss[T tensor.Numeric] interface {
	// Forward computes the loss and its gradient.
	Forward(ctx context.Context, predictions, targets *tensor.TensorNumeric[T]) (T, *tensor.TensorNumeric[T], error)
}

Loss defines the interface for loss functions.

type MSE

type MSE[T tensor.Numeric] struct {
	// contains filtered or unexported fields
}

MSE calculates the mean squared error between predictions and targets.

func NewMSE

func NewMSE[T tensor.Numeric](engine compute.Engine[T], ops numeric.Arithmetic[T]) *MSE[T]

NewMSE creates a new MSE loss function.

func (*MSE[T]) Attributes added in v0.3.0

func (m *MSE[T]) Attributes() map[string]interface{}

Attributes returns the attributes of the MSE loss function.

func (*MSE[T]) Backward

func (m *MSE[T]) Backward(ctx context.Context, _ types.BackwardMode, dOut *tensor.TensorNumeric[T], inputs ...*tensor.TensorNumeric[T]) ([]*tensor.TensorNumeric[T], error)

Backward computes the gradients for MSE with respect to inputs. Returns gradients in the order of inputs: [dPredictions, dTargets(nil)].

func (*MSE[T]) Forward

func (m *MSE[T]) Forward(ctx context.Context, inputs ...*tensor.TensorNumeric[T]) (*tensor.TensorNumeric[T], error)

Forward computes the loss value.

func (*MSE[T]) OpType added in v0.3.0

func (m *MSE[T]) OpType() string

OpType returns the operation type of the MSE loss function.

func (*MSE[T]) OutputShape added in v0.3.0

func (m *MSE[T]) OutputShape() []int

OutputShape returns the output shape of the MSE loss function.

func (*MSE[T]) Parameters added in v0.3.0

func (m *MSE[T]) Parameters() []*graph.Parameter[T]

Parameters returns the parameters of the MSE loss function.

Jump to

Keyboard shortcuts

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