Merge in RR/image-prediction from image_representation_metadata to master
Squashed commit of the following:
commit bfe92b24a2959a72c0e913ef051476c01c285ad0
Author: Matthias Bisping <matthias.bisping@iqser.com>
Date: Thu May 12 11:24:12 2022 +0200
updated comment
commit f5721560f3fda05a8ad45d0b5e406434204c1177
Author: Matthias Bisping <matthias.bisping@iqser.com>
Date: Thu May 12 11:16:02 2022 +0200
unskip server predict test
commit 41d94199ede7d58427b9e9541605a94f962c3dc4
Author: Matthias Bisping <matthias.bisping@iqser.com>
Date: Thu May 12 11:15:48 2022 +0200
added hash image encoder that produces representations by hashing
commit 84a8b0a290081616240c3876f8db8a1ae8592096
Merge: 1624ee4 6030f40
Author: Matthias Bisping <matthias.bisping@iqser.com>
Date: Thu May 12 10:18:56 2022 +0200
Merge branch 'master' of ssh://git.iqser.com:2222/rr/image-prediction
commit 1624ee40376b84a4519025343f913120c464407a
Author: Matthias Bisping <Matthias.Bisping@iqser.com>
Date: Mon Apr 25 16:51:13 2022 +0200
Pull request #11: fixed assignment
Merge in RR/image-prediction from image_prediction_service_overhaul_xref_and_empty_result_fix_fix to master
Squashed commit of the following:
commit 7312e57d1127b081bfdc6e96311e8348d3f8110d
Author: Matthias Bisping <matthias.bisping@iqser.com>
Date: Mon Apr 25 16:45:12 2022 +0200
logging setup changed
commit 955e353d74f414ee2d57b234bdf84d32817d14bf
Author: Matthias Bisping <matthias.bisping@iqser.com>
Date: Mon Apr 25 16:37:52 2022 +0200
fixed assignment
32 lines
940 B
Python
32 lines
940 B
Python
import random
|
|
from itertools import starmap
|
|
from operator import __eq__
|
|
|
|
import pytest
|
|
from PIL.Image import Image
|
|
from funcy import compose, first
|
|
|
|
from image_prediction.encoder.encoders.hash_encoder import HashEncoder, hash_image
|
|
from image_prediction.utils.generic import lift
|
|
|
|
|
|
def resize(image: Image):
|
|
factor = random.uniform(0.3, 2)
|
|
new_size = map(lambda x: int(x * factor), image.size)
|
|
return image.resize(new_size)
|
|
|
|
|
|
def close(a: str, b: str):
|
|
assert len(a) == len(b)
|
|
return sum(starmap(__eq__, zip(a, b))) / len(a) >= 0.75
|
|
|
|
|
|
@pytest.mark.xfail(reason="Stochastic test, may fail some amount of the time.")
|
|
def test_hash_encoder(images, hashed_images, base_patch_image):
|
|
encoder = HashEncoder()
|
|
assert list(encoder(images)) == hashed_images
|
|
|
|
hashed_resized = compose(first, encoder, lift(resize))([base_patch_image])
|
|
hashed = hash_image(base_patch_image)
|
|
assert close(hashed_resized, hashed)
|