File size: 3,079 Bytes
be11e69 90d9eb2 4b98081 90d9eb2 9dd219e 90e9236 9dd219e 81e9c85 9dd219e 90e9236 9dd219e 90e9236 9dd219e 90e9236 9dd219e 90e9236 9dd219e b37e02d 9dd219e 90e9236 9dd219e 893959e 9dd219e e19eab4 9dd219e 893959e |
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
---
license: cc-by-4.0
language:
- ru
- kbd
- krc
metrics:
- accuracy
pipeline_tag: text-classification
datasets:
- alimboff/ru_kbd_krc_corpus_classification
library_name: transformers
tags:
- code
---
### Zehedz
#### Описание модели
Модель предназначена для классификации текстов на три языка: русский (rus_Cyrl), кабардино-черкесский (kbd_Cyrl) и карачаево-балкарский (krc_Cyrl). Построена на архитектуре BERT и обучена на корпусе, который включает данные для каждого из этих языков.
#### Результаты обучения
```
Epoch 1/3
Train loss: 0.0431 | accuracy: 0.9889
Val loss: 0.0014 | accuracy: 1.0000
----------
Epoch 2/3
Train loss: 0.0111 | accuracy: 0.9974
Val loss: 0.0023 | accuracy: 0.9994
----------
Epoch 3/3
Train loss: 0.0081 | accuracy: 0.9982
Val loss: 0.0013 | accuracy: 1.0000
```
#### Производительность
- **Средняя скорость работы на GPU (CUDA):** 0.008 секунд на одно предсказание
- **Средняя скорость работы на CPU:** 0.05 секунд на одно предсказание
#### Использование модели
##### Код для работы с моделью:
```python
import torch
from transformers import BertTokenizer, BertForSequenceClassification
model_path = 'alimboff/rubert-kbd-krc-36K'
model = BertForSequenceClassification.from_pretrained(model_path, num_labels=3, problem_type="single_label_classification")
tokenizer = BertTokenizer.from_pretrained(model_path)
def predict(text):
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device)
model.eval()
encoding = tokenizer.encode_plus(
text,
add_special_tokens=True,
max_length=512,
return_token_type_ids=False,
truncation=True,
padding='max_length',
return_attention_mask=True,
return_tensors='pt',
)
input_ids = encoding['input_ids'].to(device)
attention_mask = encoding['attention_mask'].to(device)
with torch.no_grad():
outputs = model(input_ids=input_ids, attention_mask=attention_mask)
logits = outputs.logits
labels = ['kbd_Cyrl', 'rus_Cyrl', 'krc_Cyrl']
predicted_class = labels[torch.argmax(logits, dim=1).cpu().numpy()[0]]
return predicted_class
text = "Привет, как дела?"
print(predict(text))
```
#### Использование через API Space на Hugging Face
```python
from gradio_client import Client
client = Client("alimboff/zehedz")
result = client.predict(
text="Добрый день!",
api_name="/predict"
)
print(result)
```
Модель идеально подходит для задач, связанных с автоматическим определением языка текста в многоязычных системах и приложениях. |