base

package
v0.2.0-rc1 Latest Latest
Warning

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

Go to latest
Published: May 10, 2021 License: Apache-2.0 Imports: 9 Imported by: 2

Documentation

Index

Constants

View Source
const NotId = -1

NotId represents an ID doesn't exist.

Variables

This section is empty.

Functions

func BatchParallel added in v0.2.0

func BatchParallel(nJobs int, nWorkers int, batchSize int, worker func(workerId, beginJobId, endJobId int) error) error

func CheckPanic added in v0.2.0

func CheckPanic()

func Escape added in v0.2.0

func Escape(text string) string

Escape text for csv.

func GCD

func GCD(a ...int) int

func GetRandomName added in v0.2.0

func GetRandomName(retry int) string

GetRandomName generates a random name from the list of adjectives and surnames in this package formatted as "adjective_surname". For example 'focused_turing'. If retry is non-zero, a random integer between 0 and 10 will be added to the end of the name, e.g `focused_turing3`

func Hex added in v0.2.0

func Hex(v int64) string

func Logger added in v0.2.0

func Logger() *zap.Logger

func Max

func Max(a ...int) int

Max finds the maximum in a vector of integers. Panic if the slice is empty.

func Min

func Min(a ...int) int

func NewMatrix32 added in v0.2.0

func NewMatrix32(row, col int) [][]float32

func NewMatrixInt

func NewMatrixInt(row, col int) [][]int

func Now added in v0.2.0

func Now() string

func Parallel

func Parallel(nJobs int, nWorkers int, worker func(workerId, jobId int) error) error

Parallel schedules and runs tasks in parallel. nTask is the number of tasks. nJob is the number of executors. worker is the executed function which passed a range of task Names (begin, end).

func RangeInt added in v0.2.0

func RangeInt(n int) []int

func SetDevelopmentLogger added in v0.2.0

func SetDevelopmentLogger()

func SetProductionLogger added in v0.2.0

func SetProductionLogger()

func Split

func Split(text string) []string

Split fields for csv.

func ValidateId added in v0.2.0

func ValidateId(text string) error

ValidateId validates user/item id. Id cannot be empty and contain [/,].

func ValidateLabel added in v0.2.0

func ValidateLabel(text string) error

ValidateLabel validates label. Label cannot be empty and contain [/,|].

Types

type DirectIndex added in v0.2.0

type DirectIndex struct {
	Limit int
}

func NewDirectIndex added in v0.2.0

func NewDirectIndex() *DirectIndex

func (*DirectIndex) Add added in v0.2.0

func (idx *DirectIndex) Add(s string)

func (*DirectIndex) GetNames added in v0.2.0

func (idx *DirectIndex) GetNames() []string

func (*DirectIndex) Len added in v0.2.0

func (idx *DirectIndex) Len() int

func (*DirectIndex) ToName added in v0.2.0

func (idx *DirectIndex) ToName(index int) string

func (*DirectIndex) ToNumber added in v0.2.0

func (idx *DirectIndex) ToNumber(name string) int

type Index added in v0.2.0

type Index interface {
	Len() int
	Add(name string)
	ToNumber(name string) int
	ToName(index int) string
	GetNames() []string
}

type MapIndex added in v0.2.0

type MapIndex struct {
	Numbers map[string]int // sparse ID -> dense index
	Names   []string       // dense index -> sparse ID
}

MapIndex manages the map between sparse Names and dense indices. A sparse ID is a user ID or item ID. The dense index is the internal user index or item index optimized for faster parameter access and less memory usage.

func NewMapIndex added in v0.2.0

func NewMapIndex() *MapIndex

NewMapIndex creates a MapIndex.

func (*MapIndex) Add added in v0.2.0

func (idx *MapIndex) Add(name string)

Add adds a new ID to the indexer.

func (*MapIndex) GetNames added in v0.2.0

func (idx *MapIndex) GetNames() []string

func (*MapIndex) Len added in v0.2.0

func (idx *MapIndex) Len() int

Len returns the number of indexed Names.

func (*MapIndex) ToName added in v0.2.0

func (idx *MapIndex) ToName(index int) string

ToName converts a dense index to a sparse ID.

func (*MapIndex) ToNumber added in v0.2.0

func (idx *MapIndex) ToNumber(name string) int

ToNumber converts a sparse ID to a dense index.

type RandomGenerator

type RandomGenerator struct {
	*rand.Rand
}

RandomGenerator is the random generator for gorse.

func NewRandomGenerator

func NewRandomGenerator(seed int64) RandomGenerator

NewRandomGenerator creates a RandomGenerator.

func (RandomGenerator) NewNormalVector

func (rng RandomGenerator) NewNormalVector(size int, mean, stdDev float32) []float32

NewNormalVector makes a vec filled with normal random floats.

func (RandomGenerator) NormalMatrix added in v0.2.0

func (rng RandomGenerator) NormalMatrix(row, col int, mean, stdDev float32) [][]float32

NormalMatrix makes a matrix filled with normal random floats.

func (RandomGenerator) NormalMatrix64 added in v0.2.0

func (rng RandomGenerator) NormalMatrix64(row, col int, mean, stdDev float64) [][]float64

NormalMatrix64 makes a matrix filled with normal random floats.

func (RandomGenerator) NormalVector64 added in v0.2.0

func (rng RandomGenerator) NormalVector64(size int, mean, stdDev float64) []float64

NewNormalVector makes a vec filled with normal random floats.

func (RandomGenerator) Sample added in v0.2.0

func (rng RandomGenerator) Sample(low, high, n int, exclude ...*iset.Set) []int

func (RandomGenerator) UniformMatrix added in v0.2.0

func (rng RandomGenerator) UniformMatrix(row, col int, low, high float32) [][]float32

UniformMatrix makes a matrix filled with uniform random floats.

func (RandomGenerator) UniformVector added in v0.2.0

func (rng RandomGenerator) UniformVector(size int, low, high float32) []float32

UniformVector makes a vec filled with uniform random floats,

type TopKFilter added in v0.2.0

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

func NewTopKFilter added in v0.2.0

func NewTopKFilter(k int) *TopKFilter

func (*TopKFilter) Len added in v0.2.0

func (filter *TopKFilter) Len() int

func (*TopKFilter) Less added in v0.2.0

func (filter *TopKFilter) Less(i, j int) bool

func (*TopKFilter) PopAll added in v0.2.0

func (filter *TopKFilter) PopAll() ([]int, []float32)

func (*TopKFilter) Push added in v0.2.0

func (filter *TopKFilter) Push(item int, weight float32)

Push pushes the element x onto the heap. The complexity is O(log n) where n = h.Count().

func (*TopKFilter) Swap added in v0.2.0

func (filter *TopKFilter) Swap(i, j int)

type TopKStringFilter added in v0.2.0

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

func NewTopKStringFilter added in v0.2.0

func NewTopKStringFilter(k int) *TopKStringFilter

func (*TopKStringFilter) Len added in v0.2.0

func (filter *TopKStringFilter) Len() int

func (*TopKStringFilter) Less added in v0.2.0

func (filter *TopKStringFilter) Less(i, j int) bool

func (*TopKStringFilter) PopAll added in v0.2.0

func (filter *TopKStringFilter) PopAll() ([]string, []float32)

func (*TopKStringFilter) Push added in v0.2.0

func (filter *TopKStringFilter) Push(item string, weight float32)

Push pushes the element x onto the heap. The complexity is O(log n) where n = h.Count().

func (*TopKStringFilter) Swap added in v0.2.0

func (filter *TopKStringFilter) Swap(i, j int)

Jump to

Keyboard shortcuts

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