import torch # from utils import label_full_decoder # import sys # import dataset # import engine # from model import BERTBaseUncased # from tokenizer import tokenizer # import config from transformers import pipeline, AutoTokenizer, AutoModel import gradio as gr # DEVICE = config.device model = AutoModel.from_pretrained("thak123/bert-emoji-latvian-twitter-classifier") # 7 EPOCH Version BERT_PATH = "FFZG-cleopatra/bert-emoji-latvian-twitter" tokenizer = transformers.BertTokenizer.from_pretrained( BERT_PATH, do_lower_case=True ) #AutoTokenizer.from_pretrained("FFZG-cleopatra/bert-emoji-latvian-twitter") classifier = pipeline("sentiment-analysis", model= model, tokenizer = tokenizer) # MODEL = BERTBaseUncased() # MODEL.load_state_dict(torch.load(config.MODEL_PATH, map_location=torch.device(DEVICE))) # MODEL.eval() # T = tokenizer.TweetTokenizer( # preserve_handles=True, preserve_hashes=True, preserve_case=False, preserve_url=False) def preprocess(text): tokens = T.tokenize(text) print(tokens, file=sys.stderr) ptokens = [] for index, token in enumerate(tokens): if "@" in token: if index > 0: # check if previous token was mention if "@" in tokens[index-1]: pass else: ptokens.append("mention_0") else: ptokens.append("mention_0") else: ptokens.append(token) print(ptokens, file=sys.stderr) return " ".join(ptokens) def sentence_prediction(sentence): # sentence = preprocess(sentence) # model_path = config.MODEL_PATH # test_dataset = dataset.BERTDataset( # review=[sentence], # target=[0] # ) # test_data_loader = torch.utils.data.DataLoader( # test_dataset, # batch_size=config.VALID_BATCH_SIZE, # num_workers=3 # ) # device = config.device # model = BERTBaseUncased() # # model.load_state_dict(torch.load( # # model_path, map_location=torch.device(device))) # model.to(device) # outputs, [] = engine.predict_fn(test_data_loader, MODEL, device) outputs = classifier(sentence) print(outputs) return outputs #{"label":outputs[0]} # demo = gr.Interface( # fn=sentence_prediction, # inputs=gr.Textbox(placeholder="Enter a sentence here..."), # outputs="label", # interpretation="default", # examples=[["!"]]) # demo.launch() # gr.Interface(fn=sentence_prediction,inputs="text",outputs="label").launch() # def greet(name): # return "Hello " + name + "!" # demo = gr.Interface( # fn=greet, # inputs=gr.Textbox(lines=2, placeholder="Name Here..."), # outputs="text", # ) # demo.launch() # import gradio as gr # from transformers import pipeline # pipe = pipeline("translation", model="Helsinki-NLP/opus-mt-en-es") def predict(text): return pipe(text)[0]["translation_text"] demo = gr.Interface( fn=sentence_prediction, inputs='text', outputs='label', ) demo.launch()