Skip to content

Commit 7aebf78

Browse files
XuananLeLe Xuan An
authored andcommitted
test: Mock image extractor model loading
Signed-off-by: Le Xuan An <[email protected]>
1 parent 4bf1433 commit 7aebf78

1 file changed

Lines changed: 31 additions & 4 deletions

File tree

‎sdk/python/tests/unit/test_image_utils.py‎

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,44 @@
1717
import pytest
1818
from PIL import Image
1919

20-
pytest.importorskip("torch")
21-
pytest.importorskip("timm")
22-
pytest.importorskip("sklearn")
23-
20+
import feast.image_utils as image_utils
2421
from feast.image_utils import (
2522
ImageFeatureExtractor,
2623
combine_embeddings,
2724
get_image_metadata,
2825
validate_image_format,
2926
)
3027

28+
torch = pytest.importorskip("torch")
29+
pytest.importorskip("timm")
30+
pytest.importorskip("sklearn")
31+
32+
33+
@pytest.fixture(autouse=True)
34+
def mock_timm_model(monkeypatch):
35+
class DummyModel:
36+
def eval(self):
37+
return self
38+
39+
def __call__(self, input_tensor):
40+
batch_size = input_tensor.shape[0]
41+
return torch.arange(1, 5, dtype=torch.float32).repeat(batch_size, 1)
42+
43+
def create_model(*_args, **_kwargs):
44+
return DummyModel()
45+
46+
def create_transform(**_config):
47+
def transform(_image):
48+
return torch.ones((3, 224, 224), dtype=torch.float32)
49+
50+
return transform
51+
52+
monkeypatch.setattr(image_utils.timm, "create_model", create_model)
53+
monkeypatch.setattr(
54+
image_utils, "resolve_data_config", lambda *_args, **_kwargs: {}
55+
)
56+
monkeypatch.setattr(image_utils, "create_transform", create_transform)
57+
3158

3259
class TestImageFeatureExtractor:
3360
"""Test ImageFeatureExtractor functionality."""

0 commit comments

Comments
 (0)