File size: 845 Bytes
92ec943
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from model import similarity_model as model
from util import image as image_util
from util import matrix
from .model_implements.bit import BigTransfer


class Similarity:
    def get_model(self):
        return model.SimilarityModel(name= 'Big Transfer (BiT)', image_size= 224, model_cls = BigTransfer())

    def check_similarity(self, img_urls, model):
        imgs = []
        for url in img_urls:
            if url == "":
                continue
            imgs.append(image_util.load_image_url(
                url, required_size=(model.image_size, model.image_size), image_type=model.image_input_type
            ))

        features = model.model_cls.extract_feature(imgs)
        for i, v in enumerate(features):
            if i == 0:
                continue 
            dist = matrix.cosine(features[0], v)

        return dist