Make the repo installable as a package (#26)
This commit is contained in:
25
tests/test_consistency.py
Normal file
25
tests/test_consistency.py
Normal file
@ -0,0 +1,25 @@
|
||||
import numpy as np
|
||||
import pytest
|
||||
import torch
|
||||
from PIL import Image
|
||||
|
||||
import clip
|
||||
|
||||
|
||||
@pytest.mark.parametrize('model_name', clip.available_models())
|
||||
def test_consistency(model_name):
|
||||
device = "cpu"
|
||||
jit_model, transform = clip.load(model_name, device=device)
|
||||
py_model, _ = clip.load(model_name, device=device, jit=False)
|
||||
|
||||
image = transform(Image.open("CLIP.png")).unsqueeze(0).to(device)
|
||||
text = clip.tokenize(["a diagram", "a dog", "a cat"]).to(device)
|
||||
|
||||
with torch.no_grad():
|
||||
logits_per_image, _ = jit_model(image, text)
|
||||
jit_probs = logits_per_image.softmax(dim=-1).cpu().numpy()
|
||||
|
||||
logits_per_image, _ = py_model(image, text)
|
||||
py_probs = logits_per_image.softmax(dim=-1).cpu().numpy()
|
||||
|
||||
assert np.allclose(jit_probs, py_probs, atol=0.01, rtol=0.1)
|
Reference in New Issue
Block a user