Documentation ¶
Index ¶
- Constants
- func BatchParallel(nJobs, nWorkers, batchSize int, ...) error
- func CheckPanic()
- func Escape(text string) string
- func GetRandomName(retry int) string
- func Hex(v int64) string
- func Logger() *zap.Logger
- func Max(a ...int) int
- func Min(a ...int) int
- func NewMatrix32(row, col int) [][]float32
- func NewMatrixInt(row, col int) [][]int
- func Now() string
- func Parallel(nJobs, nWorkers int, worker func(workerId, jobId int) error) error
- func RangeInt(n int) []int
- func ReadLines(sc *bufio.Scanner, sep uint8, handler func(int, []string) bool) error
- func SetDevelopmentLogger()
- func SetProductionLogger()
- func ValidateId(text string) error
- func ValidateLabel(text string) error
- type DirectIndex
- type Index
- type MapIndex
- type RandomGenerator
- func (rng RandomGenerator) NewNormalVector(size int, mean, stdDev float32) []float32
- func (rng RandomGenerator) NormalMatrix(row, col int, mean, stdDev float32) [][]float32
- func (rng RandomGenerator) NormalMatrix64(row, col int, mean, stdDev float64) [][]float64
- func (rng RandomGenerator) NormalVector64(size int, mean, stdDev float64) []float64
- func (rng RandomGenerator) Sample(low, high, n int, exclude ...*iset.Set) []int
- func (rng RandomGenerator) UniformMatrix(row, col int, low, high float32) [][]float32
- func (rng RandomGenerator) UniformVector(size int, low, high float32) []float32
- type TopKFilter
- type TopKStringFilter
Constants ¶
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, nWorkers, batchSize int, worker func(workerId, beginJobId, endJobId int) error) error
BatchParallel run parallel jobs in batches to reduce the cost of context switch.
func GetRandomName ¶ added in v0.2.0
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 NewMatrix32 ¶ added in v0.2.0
NewMatrix32 creates a 2D matrix of 32-bit floats.
func NewMatrixInt ¶
NewMatrixInt creates a 2D matrix of integers.
func Now ¶ added in v0.2.0
func Now() string
Now returns the current time in the format of `2006-01-02T15:04:05Z07:00`.
func Parallel ¶
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 SetDevelopmentLogger ¶ added in v0.2.0
func SetDevelopmentLogger()
SetDevelopmentLogger set current logger in development mode.
func SetProductionLogger ¶ added in v0.2.0
func SetProductionLogger()
SetProductionLogger set current logger in production mode.
func ValidateId ¶ added in v0.2.0
ValidateId validates user/item id. Id cannot be empty and contain [/,].
func ValidateLabel ¶ added in v0.2.0
ValidateLabel validates label. Label cannot be empty and contain [/,|].
Types ¶
type DirectIndex ¶ added in v0.2.0
type DirectIndex struct {
Limit int
}
DirectIndex means that the name and its index is the same. For example, the index of "1" is 1, vice versa.
func NewDirectIndex ¶ added in v0.2.0
func NewDirectIndex() *DirectIndex
NewDirectIndex create a direct mapping index.
func (*DirectIndex) Add ¶ added in v0.2.0
func (idx *DirectIndex) Add(s string)
Add a name to current index.
func (*DirectIndex) GetNames ¶ added in v0.2.0
func (idx *DirectIndex) GetNames() []string
GetNames returns all names in current index.
func (*DirectIndex) Len ¶ added in v0.2.0
func (idx *DirectIndex) Len() int
Len returns the number of names in current index.
func (*DirectIndex) ToName ¶ added in v0.2.0
func (idx *DirectIndex) ToName(index int) string
ToName converts a index to corresponding name.
func (*DirectIndex) ToNumber ¶ added in v0.2.0
func (idx *DirectIndex) ToNumber(name string) int
ToNumber converts a name to corresponding index.
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 }
Index keeps the mapping between names (string) and indices (integer).
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.
type RandomGenerator ¶
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
NormalVector64 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
Sample n values between low and high, but not in exclude.
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
}
TopKFilter filters out top k items with maximum weights.
func NewTopKFilter ¶ added in v0.2.0
func NewTopKFilter(k int) *TopKFilter
NewTopKFilter creates a top k filter.
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)
PopAll pops all items in the filter with decreasing order.
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
}
TopKStringFilter filters out top k strings with maximum weights.
func NewTopKStringFilter ¶ added in v0.2.0
func NewTopKStringFilter(k int) *TopKStringFilter
NewTopKStringFilter creates a top k string filter.
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)
PopAll pops all strings in the filter with decreasing order.
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)