File size: 894 Bytes
5650a80
883ff4b
5650a80
 
3083739
 
5650a80
 
883ff4b
 
7c9f9d7
883ff4b
3d1777f
3083739
7c9f9d7
e161a0b
3083739
883ff4b
7c9f9d7
5650a80
7c9f9d7
5650a80
 
 
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
import gradio as gr
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline

model_id = "Salesforce/blip-image-captioning-large"
translate_model_id = "facebook/nllb-200-distilled-600M"

caption_eng = pipeline(model=model_id)

model = AutoModelForSeq2SeqLM.from_pretrained(translate_model_id)
tokenizer = AutoTokenizer.from_pretrained(translate_model_id)
translator = pipeline('translation', model=model, tokenizer=tokenizer, src_lang='eng_Latn', tgt_lang='nob_Latn')

def evaluate(input):
    eng = caption_eng(input)[0]["generated_text"]
    nob = translate(eng)[0]["translation_text"]
    return (eng, nob)

def translate(text):
    return translator(text, max_new_tokens=100)

iface = gr.Interface(fn=evaluate, inputs=gr.Image(type="pil"), outputs=[gr.Textbox(label="Caption (English)"), gr.Textbox(label="Caption (Bokmål)")])

if __name__ == "__main__":
    iface.launch()