Spaces:
Build error
Build error
import gradio as gr | |
import numpy as np | |
from huggingface_hub import hf_hub_download | |
import os | |
def extract_spannet_scores(model,input_sentence,length, pos_col, task_col): | |
all_scores = [] | |
# model = SpanNet.load_model(model_path=path) | |
scores = [] | |
model.eval() | |
out_dict = model(sentences=[input_sentence], output_span_scores=True) | |
scores.extend([[t.tolist() for t in o[:l]] for o, l in zip(out_dict['span_scores'], length)]) | |
all_scores.append(scores) | |
return all_scores | |
def pool_span_scores(score_dicts, sent_lens): | |
TAGS = ['B', 'I', 'O'] | |
pooled_scores = [[np.argmax([sum([sd[sent_id][token_id][score_id] for sd in score_dicts]) | |
for score_id in range(len(score_dicts[0][sent_id][token_id]))]) | |
for token_id in range(sent_lens[sent_id])] | |
for sent_id in range(len(sent_lens))] | |
r = [[TAGS[ps] for ps in sent_ps] for sent_ps in pooled_scores] | |
return r | |
def predict_label(text): | |
# model_path = 'models/span.model' | |
ip = text.split() | |
ip_len = [len(ip)] | |
scores = extract_spannet_scores(model,ip,ip_len, pos_col=1, task_col=2) | |
pooled_scores = pool_span_scores(scores, ip_len) | |
output='' | |
for op in pooled_scores[0]: | |
output+= op + ',' | |
print('OUTPUT HERE') | |
return 'output' | |
def temp(text): | |
print('IN FUNCTION') | |
return text | |
print('STARTING ..') | |
if __name__ == '__main__': | |
space_key = os.environ.get('key') | |
filenames = ['network.py', 'layers.py', 'utils.py', 'representation.py'] | |
for file in filenames: | |
hf_hub_download('nehalelkaref/stagedNER', | |
filename=file, | |
local_dir='src', | |
token=space_key) | |
from src.network import SpanNet | |
model_path = 'models/span.model' | |
model = SpanNet.load_model(model_path) | |
iface = gr.Interface(fn=predict_label, inputs="text", outputs="text") | |
iface.launch(show_api=False) | |