File size: 964 Bytes
18a9f53
 
 
 
 
 
 
 
 
 
 
 
 
 
33f7820
18a9f53
 
 
 
 
 
 
33f7820
18a9f53
 
 
 
 
 
 
39f0a39
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
29
30
31
import gradio
from towhee.types.image_utils import from_pil
import towhee
import pandas as pd
from pymilvus import connections
import os

connections.connect(
    alias="default",
    host=os.getenv("milvus.host"),
    port=os.getenv("milvus.port"),
    user=os.getenv("milvus.user"),
    password=os.getenv("milvus.password")
)


with towhee.api() as api:
    image_search_function = (
        api.runas_op(func=lambda img: from_pil(img))
        .image_embedding.timm(model_name='resnet50')
        .tensor_normalize()
        .milvus_search(collection='reverse_image_search', limit=3)
        .runas_op(func=lambda res: [x.id for x in res])
        .as_function()
    )

interface = gradio.Interface(image_search_function,
                             gradio.inputs.Image(type="pil", source='upload'),
                             [gradio.outputs.Image(type="filepath", label=None) for _ in range(3)]
                             )
interface.launch(inline=True)