File size: 1,819 Bytes
832e945
 
 
72b93f1
832e945
a63576f
832e945
72b93f1
832e945
82406fe
832e945
 
acf97d8
832e945
82406fe
acf97d8
 
 
 
c7c168c
832e945
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

## Example uses:

- Train with BERT model (train.csv is ViTHSD dataset with 4 classes each for 5 categories)
```
python ./train.py --bert_model "vinai/phobert-base-v2" --train_data_path "./datasets/train.csv" --val_data_path "./datasets/dev.csv" --test_data_path "./datasets/test.csv" --label_column "individual" "groups" "religion/creed" "race/ethnicity" "politics" --text_column "content" --epochs 7 --num_classes 4
```
- Inference with BERT model (test_data.csv is test dataset with 4 classes each for 5 categories like ViTHSD)
```
python ./inference_example.py --bert_model "vinai/phobert-base-v2" --model_path "./output/vinai_phobert-base-v2_finetuned.pth" --num_classes 4  --label_column "individual" "groups" "religion/creed" "race/ethnicity" "politics" --text_column "content" --data_path "./datasets/test.csv" --inference_batch_limit 10
```

- Train LSTM model from BERT model using distillation (train dataset should be the same as distillation training dataset)
```
python ./distill_bert_to_lstm.py --bert_model "vinai/phobert-base-v2" --bert_model_path "./vinai_phobert-base-v2_finetuned/best_model.pth" --output_dir "./output" --batch_size 32 --epochs 10 --train_data_path "./datasets/train.csv" --val_data_path "./datasets/dev.csv" --test_data_path "./datasets/test.csv" --label_column "individual" "groups" "religion/creed" "race/ethnicity" "politics" --text_column "content" --num_classes 4
```

- Inference with distilled LSTM model (test_data.csv is test dataset with 4 classes like ag_news)
```
python ./inference_lstm.py --model_path "./output/distilled_lstm_model.pth" --bert_tokenizer "vinai/phobert-base-v2" --num_classes 4  --label_column "individual" "groups" "religion/creed" "race/ethnicity" "politics" --text_column "content" --data_path "./datasets/test.csv" --inference_batch_limit 10
```