pytorch jax bert text-classification en dataset:trec transformers license:mit
.gitattributes README.md config.json flax_model.msgpack pytorch_model.bin special_tokens_map.json tokenizer_config.json training_args.bin vocab.txt
---
language: 
- en
thumbnail: 
tags:
- text-classification
license: mit
datasets:
- trec
metrics:
---

# bert-base-cased trained on TREC 6-class task

## Model description

A simple base BERT model trained on the "trec" dataset.

## Intended uses & limitations

#### How to use

##### Transformers

```python
# Load model and tokenizer
from transformers import AutoModelForSequenceClassification, AutoTokenizer

model = AutoModelForQuestionAnswering.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

# Use pipeline
from transformers import pipeline

model_name = "aychang/bert-base-cased-trec-coarse"

nlp = pipeline("sentiment-analysis", model=model_name, tokenizer=model_name)

results = nlp(["Where did the queen go?", "Why did the Queen hire 1000 ML Engineers?"])
```

##### AdaptNLP

```python
from adaptnlp import EasySequenceClassifier

model_name = "aychang/bert-base-cased-trec-coarse"
texts = ["Where did the queen go?", "Why did the Queen hire 1000 ML Engineers?"]

classifer = EasySequenceClassifier
results = classifier.tag_text(text=texts, model_name_or_path=model_name, mini_batch_size=2)
```

#### Limitations and bias

This is minimal language model trained on a benchmark dataset.

## Training data

TREC https://huggingface.co/datasets/trec

## Training procedure

Preprocessing, hardware used, hyperparameters...
#### Hardware
One V100

#### Hyperparameters and Training Args
```python
from transformers import TrainingArguments

training_args = TrainingArguments(
    output_dir='./models',
    num_train_epochs=2,
    per_device_train_batch_size=16,
    per_device_eval_batch_size=16,
    warmup_steps=500,
    weight_decay=0.01,
    evaluation_strategy="steps",
    logging_dir='./logs',
    save_steps=3000
)
```

## Eval results

```
{'epoch': 2.0,
 'eval_accuracy': 0.974,
 'eval_f1': array([0.98181818, 0.94444444, 1.        , 0.99236641, 0.96995708,
        0.98159509]),
 'eval_loss': 0.138086199760437,
 'eval_precision': array([0.98540146, 0.98837209, 1.        , 0.98484848, 0.94166667,
        0.97560976]),
 'eval_recall': array([0.97826087, 0.90425532, 1.        , 1.        , 1.        ,
        0.98765432]),
 'eval_runtime': 1.6132,
 'eval_samples_per_second': 309.943}
```
