This commit is contained in:
2026-07-09 10:26:27 -04:00
parent 79f9a1dbc2
commit da5206c6a6
9 changed files with 170 additions and 60 deletions
+15 -18
View File
@@ -1,31 +1,28 @@
import open_clip
import torch
import functools
import onnxruntime as ort
do_load = True
if do_load:
#model_name = 'hf-hub:timm/ViT-L-16-SigLIP2-512'
# model, preprocess = open_clip.create_model_from_pretrained('hf-hub:timm/ViT-L-16-SigLIP2-512')
model_name = 'ViT-SO400M-14-SigLIP-384'
pretrained_name = 'webli'
model, _, preprocess = open_clip.create_model_and_transforms(model_name, pretrained=pretrained_name)
device = 'cpu'
model.eval()
tokenizer = open_clip.get_tokenizer(model_name)
model_name = 'ViT-SO400M-16-SigLIP2-512'
tokenizer = open_clip.get_tokenizer(model_name)
#onnx_path = "/home/thebears/Source/ml/clip_extract/text/ViT-SO400M-16-SigLIP2-512_text"
onnx_path = "/home/thebears/Source/ml/clip_extract/text/ViT-SO400M-16-SigLIP2-512_text_optimized"
ort_sess = ort.InferenceSession(onnx_path)
from bottle import route, run, template, request, debug
@route('/encode')
def get_matches():
query = request.query.get('query','A large bird eating corn')
query = request.query.get('query',None)
if query is None:
return None
return execute_model(query)
@functools.cache
def execute_model(query):
with torch.no_grad():
text_tokenized = tokenizer(query)
vec = model.encode_text(text_tokenized).detach().cpu().tolist()
vec = ort_sess.run(None, {'tokenized': text_tokenized.numpy() })[0].tolist()
return {'vector':vec}
debug(True)
run(host='0.0.0.0', port=53004, server='bjoern')