Shortcuts

quaterion.distances.euclidean module

class Euclidean[source]

Bases: BaseDistance

Compute Euclidean distances (and its interpretation as similarities).

Note

Interpretation of Euclidean distances as similarities is based on the trick in the book “Collective Intelligence” by Toby Segaran, and it’s in the range of 0 -> 1.

Note

The distance matrix computation is based on a trick explained by Samuel Albanie.

static distance(x: Tensor, y: Tensor) Tensor[source]

Calculate distances, i.e., the lower the value, the more similar the samples.

Parameters:
  • x – shape: (batch_size, embedding_dim)

  • y – shape: (batch_size, embedding_dim)

Returns:

Distances - shape – (batch_size,)

static distance_matrix(x: Tensor, y: Tensor | None = None) Tensor[source]

Calculate a distance matrix, i.e., distances between all possible pairs in x and y.

Parameters:
  • x – shape: (batch_size, embedding_dim)

  • y – shape: (batch_size, embedding_dim). If y is None, it assigns x to y.

Returns:

Distance matrix - shape – (batch_size, batch_size)

static similarity(x: Tensor, y: Tensor) Tensor[source]

Calculate similarities, i.e., the higher the value, the more similar the samples.

Parameters:
  • x – shape: (batch_size, embedding_dim)

  • y – shape: (batch_size, embedding_dim)

Returns:

Similarities - shape – (batch_size,)

static similarity_matrix(x: Tensor, y: Tensor | None = None) Tensor[source]

Calculate a similarity matrix, i.e., similarities between all possible pairs in x and y.

Parameters:
  • x – shape: (batch_size, embedding_dim)

  • y – shape: (batch_size, embedding_dim). If y is None, it assigns x to y.

Returns:

Similarity matrix - shape – (batch_size, batch_size)

Qdrant

Learn more about Qdrant vector search project and ecosystem

Discover Qdrant

Similarity Learning

Explore practical problem solving with Similarity Learning

Learn Similarity Learning

Community

Find people dealing with similar problems and get answers to your questions

Join Community