rajistics's picture
moved examples
4aec448
import os
import gradio as gr
from PIL import Image
from lang_list import LANGS
##Image Classification
from transformers import AutoFeatureExtractor, AutoModelForImageClassification
extractor = AutoFeatureExtractor.from_pretrained("rajistics/finetuned-indian-food")
model = AutoModelForImageClassification.from_pretrained("rajistics/finetuned-indian-food")
def image_to_text(imagepic):
inputs = extractor(images=imagepic, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
return (model.config.id2label[predicted_class_idx])
##Translation
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
#Get list of language codes: https://github.com/facebookresearch/flores/tree/main/flores200#languages-in-flores-200
modelt = AutoModelForSeq2SeqLM.from_pretrained("facebook/nllb-200-distilled-600M")
tokenizert = AutoTokenizer.from_pretrained("facebook/nllb-200-distilled-600M")
def translation(text,target):
translator = pipeline('translation', model=modelt, tokenizer=tokenizert, src_lang="eng_Latn", tgt_lang=target)
output = translator(text)
return (output[0]['translation_text'])
##Translation
demo = gr.Blocks()
with demo:
image_file = gr.Image(type="pil")
examples = gr.Examples(examples=[["003.jpg"],["126.jpg"],["401.jpg"]],inputs=[image_file])
b1 = gr.Button("Recognize Image")
text = gr.Textbox()
b1.click(image_to_text, inputs=image_file, outputs=text)
target = gr.Dropdown(LANGS,interactive=True,label="Target Language")
b2 = gr.Button("Translation")
out1 = gr.Textbox()
b2.click(translation, inputs=[text,target], outputs=out1)
#examples = gr.Examples(examples=[["003.jpg"]],inputs=[image_file])
demo.launch()