layer

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: May 9, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NoneShape = -1

Functions

This section is empty.

Types

type Conv2D

type Conv2D struct {
	// contains filtered or unexported fields
}

func NewConv2D

func NewConv2D(imgShape Shape, kernel Kernel, stride Stride,
	init initializer.Initializer) *Conv2D

func (*Conv2D) Args

func (layer *Conv2D) Args() map[string]mat.Matrix

func (*Conv2D) Backward

func (layer *Conv2D) Backward(context []mat.Matrix, grad mat.Matrix) (valueGrad mat.Matrix, paramsGrad *params.Params)

func (Conv2D) Class

func (layer Conv2D) Class() string

func (*Conv2D) Forward

func (layer *Conv2D) Forward(input mat.Matrix, _ bool) (context []mat.Matrix, output mat.Matrix)

input: [batch, w*h*inChan] output: [batch, w*h*outChan]

func (*Conv2D) InputChan

func (layer *Conv2D) InputChan() int

func (*Conv2D) KernelShape

func (layer *Conv2D) KernelShape() Shape

func (Conv2D) Name

func (layer Conv2D) Name() string

func (*Conv2D) OutputChan

func (layer *Conv2D) OutputChan() int

func (*Conv2D) OutputShape

func (layer *Conv2D) OutputShape() Shape

func (Conv2D) Params

func (layer Conv2D) Params() *params.Params

func (*Conv2D) Print

func (layer *Conv2D) Print()

func (Conv2D) SetName

func (layer Conv2D) SetName(name string)

type Dense

type Dense struct {
	// contains filtered or unexported fields
}

func NewDense

func NewDense(output int, init initializer.Initializer) *Dense

func (Dense) Args

func (layer Dense) Args() map[string]mat.Matrix

func (*Dense) Backward

func (layer *Dense) Backward(context []mat.Matrix, grad mat.Matrix) (valueGrad mat.Matrix, paramsGrad *params.Params)

func (Dense) Class

func (layer Dense) Class() string

func (*Dense) Forward

func (layer *Dense) Forward(input mat.Matrix, _ bool) (context []mat.Matrix, output mat.Matrix)

func (Dense) Name

func (layer Dense) Name() string

func (Dense) Params

func (layer Dense) Params() *params.Params

func (*Dense) Print

func (layer *Dense) Print()

func (Dense) SetName

func (layer Dense) SetName(name string)

type Dropout

type Dropout struct {
	// contains filtered or unexported fields
}

func NewDropout

func NewDropout(keepProb float64) *Dropout

func (*Dropout) Args

func (layer *Dropout) Args() map[string]mat.Matrix

func (*Dropout) Backward

func (layer *Dropout) Backward(context []mat.Matrix, grad mat.Matrix) (valueGrad mat.Matrix, paramsGrad *params.Params)

func (Dropout) Class

func (layer Dropout) Class() string

func (*Dropout) Forward

func (layer *Dropout) Forward(input mat.Matrix, isTraining bool) (context []mat.Matrix, output mat.Matrix)

func (*Dropout) Name

func (layer *Dropout) Name() string

func (Dropout) Params

func (layer Dropout) Params() *params.Params

func (Dropout) Print

func (layer Dropout) Print()

func (Dropout) SetName

func (layer Dropout) SetName(name string)

type Kernel

type Kernel struct {
	M, N            int
	InChan, OutChan int
}

type Layer

type Layer interface {
	SetName(string)
	Name() string
	Class() string
	Forward(input mat.Matrix, isTraining bool) (context []mat.Matrix, output mat.Matrix)
	Backward(context []mat.Matrix, grad mat.Matrix) (valueGrad mat.Matrix, paramsGrad *params.Params)
	Params() *params.Params
	Args() map[string]mat.Matrix
	Print()
}

func LoadConv2D

func LoadConv2D(name string, params map[string]*pb.Dense, args map[string]*pb.Dense) Layer

func LoadDense

func LoadDense(name string, params map[string]*pb.Dense, _ map[string]*pb.Dense) Layer

func LoadDropout

func LoadDropout(name string, params map[string]*pb.Dense, args map[string]*pb.Dense) Layer

func LoadMaxPool

func LoadMaxPool(name string, params map[string]*pb.Dense, args map[string]*pb.Dense) Layer

func LoadRnn

func LoadRnn(name string, params map[string]*pb.Dense, args map[string]*pb.Dense) Layer

type MaxPool

type MaxPool struct {
	// contains filtered or unexported fields
}

func NewMaxPool

func NewMaxPool(imgShape Shape, kernel Kernel, stride Stride) *MaxPool

func (*MaxPool) Args

func (layer *MaxPool) Args() map[string]mat.Matrix

func (*MaxPool) Backward

func (layer *MaxPool) Backward(ctx []mat.Matrix, grad mat.Matrix) (valueGrad mat.Matrix, paramsGrad *params.Params)

func (MaxPool) Class

func (layer MaxPool) Class() string

func (*MaxPool) Forward

func (layer *MaxPool) Forward(input mat.Matrix, _ bool) (context []mat.Matrix, output mat.Matrix)

func (MaxPool) Name

func (layer MaxPool) Name() string

func (*MaxPool) OutputShape

func (layer *MaxPool) OutputShape() Shape

func (MaxPool) Params

func (layer MaxPool) Params() *params.Params

func (*MaxPool) Print

func (layer *MaxPool) Print()

func (MaxPool) SetName

func (layer MaxPool) SetName(name string)

type Rnn

type Rnn struct {
	// contains filtered or unexported fields
}

func NewRnn

func NewRnn(times, output int, init initializer.Initializer) *Rnn

func (*Rnn) Args

func (layer *Rnn) Args() map[string]mat.Matrix

func (*Rnn) Backward

func (layer *Rnn) Backward(context []mat.Matrix, grad mat.Matrix) (valueGrad mat.Matrix, paramsGrad *params.Params)

func (Rnn) Class

func (layer Rnn) Class() string

func (*Rnn) Forward

func (layer *Rnn) Forward(input mat.Matrix, _ bool) (context []mat.Matrix, output mat.Matrix)

func (Rnn) Name

func (layer Rnn) Name() string

func (Rnn) Params

func (layer Rnn) Params() *params.Params

func (*Rnn) Print

func (layer *Rnn) Print()

func (Rnn) SetName

func (layer Rnn) SetName(name string)

type Shape

type Shape struct {
	M, N int
}

type Stride

type Stride struct {
	X, Y int
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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