File size: 902 Bytes
7a90555 2a95d4c c328fb6 7a90555 f32d83a 2a95d4c 1a00ee1 2a95d4c 7a90555 f32d83a 2a95d4c 3c0ef47 2a95d4c ac6ac91 2a95d4c ac6ac91 f32d83a 7a90555 |
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 |
import gradio as gr
import torch
import open_clip
import joblib
def predict(input_image):
device = torch.device("cpu")
# when running on GPUs:
# device = torch.device("cuda")
model, _, preprocess = open_clip.create_model_and_transforms('ViT-L-14', pretrained='openai', device=device)
image = preprocess(input_image).unsqueeze(0).to(device)
with torch.amp.autocast(device_type=device.type):
with torch.no_grad():
image_features = model.encode_image(image)
image_features /= image_features.norm(dim=-1, keepdim=True)
embedding = image_features[0].cpu().float().numpy()
model = joblib.load('model.pkl')
result = model.predict([embedding])
return "Map" if result == 1 else "No map"
demo = gr.Interface(fn=predict, inputs=gr.Image(label="Check whether the image is a map or not", type="pil"), outputs="text")
demo.launch() |