Skip to content

Commit 4f6db3c

Browse files
danieldkDaniël de Kok
authored andcommitted
Add tests for reading/mmaping quantized embeddings
Fixes #56.
1 parent ab2226b commit 4f6db3c

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

tests/conftest.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ def similarity_fifu(tests_root):
2525
yield finalfusion.Embeddings(os.path.join(tests_root, "similarity.fifu"))
2626

2727

28+
@pytest.fixture
29+
def similarity_pq(tests_root):
30+
yield finalfusion.Embeddings(os.path.join(tests_root, "similarity-pq.fifu"))
31+
32+
33+
@pytest.fixture
34+
def similarity_pq_mmap(tests_root):
35+
yield finalfusion.Embeddings(os.path.join(tests_root, "similarity-pq.fifu"), mmap=True)
36+
37+
2838
@pytest.fixture
2939
def subword_fifu(tests_root):
3040
yield finalfusion.Embeddings(os.path.join(tests_root, "subword.fifu"))

tests/similarity-pq.fifu

15.2 KB
Binary file not shown.

tests/test_embeddings.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,20 @@ def test_embeddings(embeddings_fifu, embeddings_text, embeddings_text_dims):
3030
embedding.embedding, embeddings_text_dims[embedding.word]), "FiFu and textdims embedding mismatch"
3131

3232

33+
def test_embeddings_pq(similarity_fifu, similarity_pq):
34+
for embedding in similarity_fifu:
35+
embedding_pq = similarity_pq.embedding("Berlin")
36+
assert numpy.allclose(embedding.embedding, embedding_pq,
37+
atol=0.3), "Embedding and quantized embedding mismatch"
38+
39+
40+
def test_embeddings_pq_mmap(similarity_fifu, similarity_pq_mmap):
41+
for embedding in similarity_fifu:
42+
embedding_pq = similarity_pq_mmap.embedding("Berlin")
43+
assert numpy.allclose(embedding.embedding, embedding_pq,
44+
atol=0.3), "Embedding and quantized embedding mismatch"
45+
46+
3347
def test_embeddings_with_norms_oov(embeddings_fifu):
3448
assert embeddings_fifu.embedding_with_norm(
3549
"Something out of vocabulary") is None

0 commit comments

Comments
 (0)