model

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2022 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func BinaryCrossEntropy32 added in v0.5.0

func BinaryCrossEntropy32(yPred, yTrue *G.Node) *G.Node

BinaryCrossEntropy32 calculates the binary cross entropy cost loss formula: -y_true * log(y_pred) - (1 - y_true) * log(1 - y_pred)

func CosineSimilarity added in v0.5.0

func CosineSimilarity(x, y *G.Node) (retVal *G.Node, err error)

CosineSimilarity is the cosine distance between two matrix, typically used for calculating the distance between two embedding. Case1: x, y shapes are same, no broadcast. output shape will be x.shape[:-1] Case2: x, y shapes are different, broadcast will be applied on the smaller dim. output shape will be something like x.shape[:-1] but with a broadcast dim

func EucDistance added in v0.5.0

func EucDistance(x, y *G.Node) (retVal *G.Node, err error)

EucDistance is the Euclidean distance between two matrix, typically used for calculating the distance between two embedding. Case1: x, y shapes are same, no broadcast. output shape will be x.shape[:-1] Case2: x, y shapes are different, broadcast will be applied on the smaller dim. output shape will be something like x.shape[:-1] but with a broadcast dim

func FillTensorRows

func FillTensorRows(batchSize int, inputs tensor.Tensor) (x tensor.Tensor, err error)

FillTensorRows fills the batch samples with the zero data to make sample size fit the batch size it sames tensor.Concat is not optimized for large dataset. we should avoid using FillTensorRows while input data is large.

func InitForwardOnlyVm

func InitForwardOnlyVm(uProfileDim, uBehaviorSize, uBehaviorDim, iFeatureDim, cFeatureDim int,
	batchSize int,
	m Model,
) (err error)

func MSE32 added in v0.5.0

func MSE32(yPred, yTrue *G.Node) *G.Node

MSE32 calculates the Mean Squared Error cost

func PRelu32 added in v0.5.0

func PRelu32(x, slop *G.Node) (retVal *G.Node)

PRelu32 is the slop learnable LeakyRelu activation function slop should be a scalar

func Predict

func Predict(m Model, numExamples, batchSize int, si *rcmd.SampleInfo, inputs tensor.Tensor) (y []float32, err error)

func RMS32 added in v0.5.0

func RMS32(yPred, yTrue *G.Node) *G.Node

RMS32 calculates the Root Mean Squared error cost

func Train

func Train(uProfileDim, uBehaviorSize, uBehaviorDim, iFeatureDim, cFeatureDim int,
	numExamples, batchSize, epochs, earlyStop int,
	si *rcmd.SampleInfo,
	inputs, targets tensor.Tensor,

	m Model,
) (err error)

Types

type Model

type Model interface {
	Learnable() G.Nodes
	Fwd(xUserProfile, ubMatrix, xItemFeature, xCtxFeature *G.Node, batchSize, uBehaviorSize, uBehaviorDim int) (err error)
	Out() *G.Node
	In() G.Nodes
	Graph() *G.ExprGraph
	Marshal() (data []byte, err error)
	Vm() G.VM
	SetVM(vm G.VM)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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