File size: 1,504 Bytes
78f91a7
0d3225e
78f91a7
51f97f8
 
 
 
 
 
 
 
 
02af193
 
78f91a7
 
8cb1d65
 
 
78f91a7
 
 
 
8cb1d65
78f91a7
 
 
7d57f72
51f97f8
41c923f
78f91a7
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
26
27
28
29
30
31
import streamlit as st
import torch

@st.cache
def Model():
  from transformers import BertTokenizer, BertForSequenceClassification
  model_name = "google/bert_uncased_L-4_H-256_A-4"
  tokenizer = BertTokenizer.from_pretrained(model_name)
  model = BertForSequenceClassification.from_pretrained(model_name, num_labels=8)
  bn_state_dict = torch.load('model_w.pt')
  model.load_state_dict(bn_state_dict)
  return model

st.title('Классификация статьи по названию и описанию')
# ^-- можно показывать пользователю текст, картинки, ограниченное подмножество html - всё как в jupyter

title = st.text_area("Введите название статьи:")

abstract = st.text_area("Введите описание статьи:")
# ^-- показать текстовое поле. В поле text лежит строка, которая находится там в данный момент

from transformers import pipeline
pipe = pipeline("ner", "Davlan/distilbert-base-multilingual-cased-ner-hrl")
raw_predictions = pipe(title)
# тут уже знакомый вам код с huggingface.transformers -- его можно заменить на что угодно от fairseq до catboost

st.markdown(f"{raw_predictions}")

model = Model()
st.markdown(f"{model}")
# выводим результаты модели в текстовое поле, на потеху пользователю