Documentation
¶
Index ¶
- func Concurrently(n uint64, action Action)
- func ExtractCode8(encoded []byte, index int) byte
- func PutCode8(code byte, buffer []byte, index int)
- type Action
- type Centroid
- type DLUTPool
- type DistanceLookUpTable
- type Encoder
- type EncoderDistribution
- type FilterFunc
- type KMeans
- func (m *KMeans) Add(x []float32)
- func (m *KMeans) Center(point []float32) []float32
- func (m *KMeans) Centers() [][]float32
- func (m *KMeans) Centroid(i byte) []float32
- func (m *KMeans) Encode(point []float32) byte
- func (m *KMeans) ExposeDataForRestore() []byte
- func (m *KMeans) Fit(data [][]float32) error
- func (m *KMeans) NNearest(point []float32, n int) []uint64
- func (m *KMeans) Nearest(point []float32) uint64
- func (k *KMeans) String() string
- type KMeansPartitionData
- type PQData
- type PQDistancer
- type PQEncoder
- type ProductQuantizer
- func (pq *ProductQuantizer) CenterAt(vec []float32) *DistanceLookUpTable
- func (pq *ProductQuantizer) Decode(code []byte) []float32
- func (pq *ProductQuantizer) Distance(encoded []byte, lut *DistanceLookUpTable) float32
- func (pq *ProductQuantizer) DistanceBetweenCompressedAndUncompressedVectors(x []float32, encoded []byte) float32
- func (pq *ProductQuantizer) DistanceBetweenCompressedVectors(x, y []byte) float32
- func (pq *ProductQuantizer) Encode(vec []float32) []byte
- func (pq *ProductQuantizer) ExposeFields() PQData
- func (pq *ProductQuantizer) Fit(data [][]float32)
- func (pq *ProductQuantizer) NewDistancer(a []float32) *PQDistancer
- func (pq *ProductQuantizer) ReturnDistancer(d *PQDistancer)
- type TileEncoder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Concurrently ¶
func ExtractCode8 ¶ added in v1.20.0
Only made public for testing purposes... Not sure we need it outside
Types ¶
type DLUTPool ¶ added in v1.19.6
type DLUTPool struct {
// contains filtered or unexported fields
}
func NewDLUTPool ¶ added in v1.19.6
func NewDLUTPool() *DLUTPool
func (*DLUTPool) Get ¶ added in v1.19.6
func (p *DLUTPool) Get(segments, centroids int, centers []float32) *DistanceLookUpTable
func (*DLUTPool) Return ¶ added in v1.19.6
func (p *DLUTPool) Return(dlt *DistanceLookUpTable)
type DistanceLookUpTable ¶
type DistanceLookUpTable struct {
// contains filtered or unexported fields
}
func NewDistanceLookUpTable ¶
func NewDistanceLookUpTable(segments int, centroids int, center []float32) *DistanceLookUpTable
func (*DistanceLookUpTable) LookUp ¶
func (lut *DistanceLookUpTable) LookUp( encoded []byte, pq *ProductQuantizer, ) float32
type EncoderDistribution ¶
type EncoderDistribution byte
const ( NormalEncoderDistribution EncoderDistribution = 0 LogNormalEncoderDistribution EncoderDistribution = 1 )
type FilterFunc ¶
type KMeans ¶
type KMeans struct { K int // How many centroids DeltaThreshold float32 // Used to stop fitting if there are not too much changes in the centroids anymore IterationThreshold int // Used to stop fitting after a certain amount of iterations Distance distancer.Provider // contains filtered or unexported fields }
func NewKMeansWithCenters ¶
func (*KMeans) ExposeDataForRestore ¶
type KMeansPartitionData ¶
type KMeansPartitionData struct {
// contains filtered or unexported fields
}
type PQDistancer ¶
type PQDistancer struct {
// contains filtered or unexported fields
}
func (*PQDistancer) DistanceToFloat ¶ added in v1.19.7
func (d *PQDistancer) DistanceToFloat(x []float32) (float32, bool, error)
type ProductQuantizer ¶
type ProductQuantizer struct {
// contains filtered or unexported fields
}
func NewProductQuantizer ¶
func (*ProductQuantizer) CenterAt ¶
func (pq *ProductQuantizer) CenterAt(vec []float32) *DistanceLookUpTable
func (*ProductQuantizer) Decode ¶
func (pq *ProductQuantizer) Decode(code []byte) []float32
func (*ProductQuantizer) Distance ¶
func (pq *ProductQuantizer) Distance(encoded []byte, lut *DistanceLookUpTable) float32
func (*ProductQuantizer) DistanceBetweenCompressedAndUncompressedVectors ¶
func (pq *ProductQuantizer) DistanceBetweenCompressedAndUncompressedVectors(x []float32, encoded []byte) float32
func (*ProductQuantizer) DistanceBetweenCompressedVectors ¶
func (pq *ProductQuantizer) DistanceBetweenCompressedVectors(x, y []byte) float32
func (*ProductQuantizer) Encode ¶
func (pq *ProductQuantizer) Encode(vec []float32) []byte
func (*ProductQuantizer) ExposeFields ¶
func (pq *ProductQuantizer) ExposeFields() PQData
func (*ProductQuantizer) Fit ¶
func (pq *ProductQuantizer) Fit(data [][]float32)
func (*ProductQuantizer) NewDistancer ¶
func (pq *ProductQuantizer) NewDistancer(a []float32) *PQDistancer
func (*ProductQuantizer) ReturnDistancer ¶ added in v1.19.6
func (pq *ProductQuantizer) ReturnDistancer(d *PQDistancer)
type TileEncoder ¶
type TileEncoder struct {
// contains filtered or unexported fields
}
func NewTileEncoder ¶
func NewTileEncoder(bits int, segment int, encoderDistribution EncoderDistribution) *TileEncoder
func RestoreTileEncoder ¶
func (*TileEncoder) Add ¶
func (te *TileEncoder) Add(x []float32)
func (*TileEncoder) Centroid ¶
func (te *TileEncoder) Centroid(b byte) []float32
func (*TileEncoder) Encode ¶
func (te *TileEncoder) Encode(x []float32) byte
func (*TileEncoder) ExposeDataForRestore ¶
func (te *TileEncoder) ExposeDataForRestore() []byte
func (*TileEncoder) Fit ¶
func (te *TileEncoder) Fit(data [][]float32) error
Click to show internal directories.
Click to hide internal directories.