Delete campaign-training
Browse files- campaign-training/campaign-bert-model/config.json +0 -39
- campaign-training/campaign-bert-model/model.safetensors +0 -3
- campaign-training/campaign-bert-model/special_tokens_map.json +0 -7
- campaign-training/campaign-bert-model/tokenizer.json +0 -0
- campaign-training/campaign-bert-model/tokenizer_config.json +0 -58
- campaign-training/campaign-bert-model/vocab.txt +0 -0
- campaign-training/campaign_data.csv +0 -10
- campaign-training/label_encoder.pkl +0 -3
- campaign-training/results/checkpoint-1/config.json +0 -39
- campaign-training/results/checkpoint-1/model.safetensors +0 -3
- campaign-training/results/checkpoint-1/optimizer.pt +0 -3
- campaign-training/results/checkpoint-1/rng_state.pth +0 -3
- campaign-training/results/checkpoint-1/scheduler.pt +0 -3
- campaign-training/results/checkpoint-1/special_tokens_map.json +0 -7
- campaign-training/results/checkpoint-1/tokenizer.json +0 -0
- campaign-training/results/checkpoint-1/tokenizer_config.json +0 -58
- campaign-training/results/checkpoint-1/trainer_state.json +0 -33
- campaign-training/results/checkpoint-1/training_args.bin +0 -3
- campaign-training/results/checkpoint-1/vocab.txt +0 -0
- campaign-training/results/checkpoint-2/config.json +0 -39
- campaign-training/results/checkpoint-2/model.safetensors +0 -3
- campaign-training/results/checkpoint-2/optimizer.pt +0 -3
- campaign-training/results/checkpoint-2/rng_state.pth +0 -3
- campaign-training/results/checkpoint-2/scheduler.pt +0 -3
- campaign-training/results/checkpoint-2/special_tokens_map.json +0 -7
- campaign-training/results/checkpoint-2/tokenizer.json +0 -0
- campaign-training/results/checkpoint-2/tokenizer_config.json +0 -58
- campaign-training/results/checkpoint-2/trainer_state.json +0 -33
- campaign-training/results/checkpoint-2/training_args.bin +0 -3
- campaign-training/results/checkpoint-2/vocab.txt +0 -0
- campaign-training/results/checkpoint-3/config.json +0 -39
- campaign-training/results/checkpoint-3/model.safetensors +0 -3
- campaign-training/results/checkpoint-3/optimizer.pt +0 -3
- campaign-training/results/checkpoint-3/rng_state.pth +0 -3
- campaign-training/results/checkpoint-3/scheduler.pt +0 -3
- campaign-training/results/checkpoint-3/special_tokens_map.json +0 -7
- campaign-training/results/checkpoint-3/tokenizer.json +0 -0
- campaign-training/results/checkpoint-3/tokenizer_config.json +0 -58
- campaign-training/results/checkpoint-3/trainer_state.json +0 -33
- campaign-training/results/checkpoint-3/training_args.bin +0 -3
- campaign-training/results/checkpoint-3/vocab.txt +0 -0
- campaign-training/train_model.py +0 -58
campaign-training/campaign-bert-model/config.json
DELETED
|
@@ -1,39 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"architectures": [
|
| 3 |
-
"BertForSequenceClassification"
|
| 4 |
-
],
|
| 5 |
-
"attention_probs_dropout_prob": 0.1,
|
| 6 |
-
"classifier_dropout": null,
|
| 7 |
-
"hidden_act": "gelu",
|
| 8 |
-
"hidden_dropout_prob": 0.1,
|
| 9 |
-
"hidden_size": 128,
|
| 10 |
-
"id2label": {
|
| 11 |
-
"0": "LABEL_0",
|
| 12 |
-
"1": "LABEL_1",
|
| 13 |
-
"2": "LABEL_2",
|
| 14 |
-
"3": "LABEL_3",
|
| 15 |
-
"4": "LABEL_4"
|
| 16 |
-
},
|
| 17 |
-
"initializer_range": 0.02,
|
| 18 |
-
"intermediate_size": 512,
|
| 19 |
-
"label2id": {
|
| 20 |
-
"LABEL_0": 0,
|
| 21 |
-
"LABEL_1": 1,
|
| 22 |
-
"LABEL_2": 2,
|
| 23 |
-
"LABEL_3": 3,
|
| 24 |
-
"LABEL_4": 4
|
| 25 |
-
},
|
| 26 |
-
"layer_norm_eps": 1e-12,
|
| 27 |
-
"max_position_embeddings": 512,
|
| 28 |
-
"model_type": "bert",
|
| 29 |
-
"num_attention_heads": 2,
|
| 30 |
-
"num_hidden_layers": 2,
|
| 31 |
-
"pad_token_id": 0,
|
| 32 |
-
"position_embedding_type": "absolute",
|
| 33 |
-
"problem_type": "single_label_classification",
|
| 34 |
-
"torch_dtype": "float32",
|
| 35 |
-
"transformers_version": "4.53.0",
|
| 36 |
-
"type_vocab_size": 2,
|
| 37 |
-
"use_cache": true,
|
| 38 |
-
"vocab_size": 30522
|
| 39 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/campaign-bert-model/model.safetensors
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:01c51f0baa1ae1c95ac47186c60effa403bb7c6c784e8118d9af59030808be17
|
| 3 |
-
size 17550860
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/campaign-bert-model/special_tokens_map.json
DELETED
|
@@ -1,7 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"cls_token": "[CLS]",
|
| 3 |
-
"mask_token": "[MASK]",
|
| 4 |
-
"pad_token": "[PAD]",
|
| 5 |
-
"sep_token": "[SEP]",
|
| 6 |
-
"unk_token": "[UNK]"
|
| 7 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/campaign-bert-model/tokenizer.json
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|
campaign-training/campaign-bert-model/tokenizer_config.json
DELETED
|
@@ -1,58 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"added_tokens_decoder": {
|
| 3 |
-
"0": {
|
| 4 |
-
"content": "[PAD]",
|
| 5 |
-
"lstrip": false,
|
| 6 |
-
"normalized": false,
|
| 7 |
-
"rstrip": false,
|
| 8 |
-
"single_word": false,
|
| 9 |
-
"special": true
|
| 10 |
-
},
|
| 11 |
-
"100": {
|
| 12 |
-
"content": "[UNK]",
|
| 13 |
-
"lstrip": false,
|
| 14 |
-
"normalized": false,
|
| 15 |
-
"rstrip": false,
|
| 16 |
-
"single_word": false,
|
| 17 |
-
"special": true
|
| 18 |
-
},
|
| 19 |
-
"101": {
|
| 20 |
-
"content": "[CLS]",
|
| 21 |
-
"lstrip": false,
|
| 22 |
-
"normalized": false,
|
| 23 |
-
"rstrip": false,
|
| 24 |
-
"single_word": false,
|
| 25 |
-
"special": true
|
| 26 |
-
},
|
| 27 |
-
"102": {
|
| 28 |
-
"content": "[SEP]",
|
| 29 |
-
"lstrip": false,
|
| 30 |
-
"normalized": false,
|
| 31 |
-
"rstrip": false,
|
| 32 |
-
"single_word": false,
|
| 33 |
-
"special": true
|
| 34 |
-
},
|
| 35 |
-
"103": {
|
| 36 |
-
"content": "[MASK]",
|
| 37 |
-
"lstrip": false,
|
| 38 |
-
"normalized": false,
|
| 39 |
-
"rstrip": false,
|
| 40 |
-
"single_word": false,
|
| 41 |
-
"special": true
|
| 42 |
-
}
|
| 43 |
-
},
|
| 44 |
-
"clean_up_tokenization_spaces": true,
|
| 45 |
-
"cls_token": "[CLS]",
|
| 46 |
-
"do_basic_tokenize": true,
|
| 47 |
-
"do_lower_case": true,
|
| 48 |
-
"extra_special_tokens": {},
|
| 49 |
-
"mask_token": "[MASK]",
|
| 50 |
-
"model_max_length": 1000000000000000019884624838656,
|
| 51 |
-
"never_split": null,
|
| 52 |
-
"pad_token": "[PAD]",
|
| 53 |
-
"sep_token": "[SEP]",
|
| 54 |
-
"strip_accents": null,
|
| 55 |
-
"tokenize_chinese_chars": true,
|
| 56 |
-
"tokenizer_class": "BertTokenizer",
|
| 57 |
-
"unk_token": "[UNK]"
|
| 58 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/campaign-bert-model/vocab.txt
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|
campaign-training/campaign_data.csv
DELETED
|
@@ -1,10 +0,0 @@
|
|
| 1 |
-
client_interest,sentiment,template_id
|
| 2 |
-
Child Education,Positive,T7
|
| 3 |
-
Health Insurance,Negative,T2
|
| 4 |
-
Retirement Planning,Neutral,T4
|
| 5 |
-
Life Insurance,Positive,T3
|
| 6 |
-
Child Plan,Positive,T7
|
| 7 |
-
Wealth Creation,Neutral,T5
|
| 8 |
-
Medical Emergency,Negative,T2
|
| 9 |
-
Pension Scheme,Neutral,T4
|
| 10 |
-
Higher Studies,Positive,T7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/label_encoder.pkl
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:64c1f3e87996ee46b538328ff0c3ca3740d1ed2a3d5a82518890c71eefb5cef5
|
| 3 |
-
size 498
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-1/config.json
DELETED
|
@@ -1,39 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"architectures": [
|
| 3 |
-
"BertForSequenceClassification"
|
| 4 |
-
],
|
| 5 |
-
"attention_probs_dropout_prob": 0.1,
|
| 6 |
-
"classifier_dropout": null,
|
| 7 |
-
"hidden_act": "gelu",
|
| 8 |
-
"hidden_dropout_prob": 0.1,
|
| 9 |
-
"hidden_size": 128,
|
| 10 |
-
"id2label": {
|
| 11 |
-
"0": "LABEL_0",
|
| 12 |
-
"1": "LABEL_1",
|
| 13 |
-
"2": "LABEL_2",
|
| 14 |
-
"3": "LABEL_3",
|
| 15 |
-
"4": "LABEL_4"
|
| 16 |
-
},
|
| 17 |
-
"initializer_range": 0.02,
|
| 18 |
-
"intermediate_size": 512,
|
| 19 |
-
"label2id": {
|
| 20 |
-
"LABEL_0": 0,
|
| 21 |
-
"LABEL_1": 1,
|
| 22 |
-
"LABEL_2": 2,
|
| 23 |
-
"LABEL_3": 3,
|
| 24 |
-
"LABEL_4": 4
|
| 25 |
-
},
|
| 26 |
-
"layer_norm_eps": 1e-12,
|
| 27 |
-
"max_position_embeddings": 512,
|
| 28 |
-
"model_type": "bert",
|
| 29 |
-
"num_attention_heads": 2,
|
| 30 |
-
"num_hidden_layers": 2,
|
| 31 |
-
"pad_token_id": 0,
|
| 32 |
-
"position_embedding_type": "absolute",
|
| 33 |
-
"problem_type": "single_label_classification",
|
| 34 |
-
"torch_dtype": "float32",
|
| 35 |
-
"transformers_version": "4.53.0",
|
| 36 |
-
"type_vocab_size": 2,
|
| 37 |
-
"use_cache": true,
|
| 38 |
-
"vocab_size": 30522
|
| 39 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-1/model.safetensors
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:458d44f0d332ff672a6cd0148c612bc27b1ee8a319fb8648598ce815396f37d2
|
| 3 |
-
size 17550860
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-1/optimizer.pt
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:d7de92c6c81dbe906d3a814df28948d26abd39d5b23828705bebec78d2d673a1
|
| 3 |
-
size 35126283
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-1/rng_state.pth
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:72375bac069363e5d019b444a4c7c4770609ca9aa9328cf535d6018bced92f10
|
| 3 |
-
size 14455
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-1/scheduler.pt
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:06af82689f3c024ebea24b90121ad3b69c4b4b893bb0a7e3ea983b954960a394
|
| 3 |
-
size 1465
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-1/special_tokens_map.json
DELETED
|
@@ -1,7 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"cls_token": "[CLS]",
|
| 3 |
-
"mask_token": "[MASK]",
|
| 4 |
-
"pad_token": "[PAD]",
|
| 5 |
-
"sep_token": "[SEP]",
|
| 6 |
-
"unk_token": "[UNK]"
|
| 7 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-1/tokenizer.json
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|
campaign-training/results/checkpoint-1/tokenizer_config.json
DELETED
|
@@ -1,58 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"added_tokens_decoder": {
|
| 3 |
-
"0": {
|
| 4 |
-
"content": "[PAD]",
|
| 5 |
-
"lstrip": false,
|
| 6 |
-
"normalized": false,
|
| 7 |
-
"rstrip": false,
|
| 8 |
-
"single_word": false,
|
| 9 |
-
"special": true
|
| 10 |
-
},
|
| 11 |
-
"100": {
|
| 12 |
-
"content": "[UNK]",
|
| 13 |
-
"lstrip": false,
|
| 14 |
-
"normalized": false,
|
| 15 |
-
"rstrip": false,
|
| 16 |
-
"single_word": false,
|
| 17 |
-
"special": true
|
| 18 |
-
},
|
| 19 |
-
"101": {
|
| 20 |
-
"content": "[CLS]",
|
| 21 |
-
"lstrip": false,
|
| 22 |
-
"normalized": false,
|
| 23 |
-
"rstrip": false,
|
| 24 |
-
"single_word": false,
|
| 25 |
-
"special": true
|
| 26 |
-
},
|
| 27 |
-
"102": {
|
| 28 |
-
"content": "[SEP]",
|
| 29 |
-
"lstrip": false,
|
| 30 |
-
"normalized": false,
|
| 31 |
-
"rstrip": false,
|
| 32 |
-
"single_word": false,
|
| 33 |
-
"special": true
|
| 34 |
-
},
|
| 35 |
-
"103": {
|
| 36 |
-
"content": "[MASK]",
|
| 37 |
-
"lstrip": false,
|
| 38 |
-
"normalized": false,
|
| 39 |
-
"rstrip": false,
|
| 40 |
-
"single_word": false,
|
| 41 |
-
"special": true
|
| 42 |
-
}
|
| 43 |
-
},
|
| 44 |
-
"clean_up_tokenization_spaces": true,
|
| 45 |
-
"cls_token": "[CLS]",
|
| 46 |
-
"do_basic_tokenize": true,
|
| 47 |
-
"do_lower_case": true,
|
| 48 |
-
"extra_special_tokens": {},
|
| 49 |
-
"mask_token": "[MASK]",
|
| 50 |
-
"model_max_length": 1000000000000000019884624838656,
|
| 51 |
-
"never_split": null,
|
| 52 |
-
"pad_token": "[PAD]",
|
| 53 |
-
"sep_token": "[SEP]",
|
| 54 |
-
"strip_accents": null,
|
| 55 |
-
"tokenize_chinese_chars": true,
|
| 56 |
-
"tokenizer_class": "BertTokenizer",
|
| 57 |
-
"unk_token": "[UNK]"
|
| 58 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-1/trainer_state.json
DELETED
|
@@ -1,33 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"best_global_step": null,
|
| 3 |
-
"best_metric": null,
|
| 4 |
-
"best_model_checkpoint": null,
|
| 5 |
-
"epoch": 1.0,
|
| 6 |
-
"eval_steps": 500,
|
| 7 |
-
"global_step": 1,
|
| 8 |
-
"is_hyper_param_search": false,
|
| 9 |
-
"is_local_process_zero": true,
|
| 10 |
-
"is_world_process_zero": true,
|
| 11 |
-
"log_history": [],
|
| 12 |
-
"logging_steps": 500,
|
| 13 |
-
"max_steps": 3,
|
| 14 |
-
"num_input_tokens_seen": 0,
|
| 15 |
-
"num_train_epochs": 3,
|
| 16 |
-
"save_steps": 500,
|
| 17 |
-
"stateful_callbacks": {
|
| 18 |
-
"TrainerControl": {
|
| 19 |
-
"args": {
|
| 20 |
-
"should_epoch_stop": false,
|
| 21 |
-
"should_evaluate": false,
|
| 22 |
-
"should_log": false,
|
| 23 |
-
"should_save": true,
|
| 24 |
-
"should_training_stop": false
|
| 25 |
-
},
|
| 26 |
-
"attributes": {}
|
| 27 |
-
}
|
| 28 |
-
},
|
| 29 |
-
"total_flos": 121703358.0,
|
| 30 |
-
"train_batch_size": 8,
|
| 31 |
-
"trial_name": null,
|
| 32 |
-
"trial_params": null
|
| 33 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-1/training_args.bin
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:0a5e0b28411e163fe1c9b4be538f8c9cb9e2865ee7c5f349e38bc5b0ccedaf8b
|
| 3 |
-
size 5713
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-1/vocab.txt
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|
campaign-training/results/checkpoint-2/config.json
DELETED
|
@@ -1,39 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"architectures": [
|
| 3 |
-
"BertForSequenceClassification"
|
| 4 |
-
],
|
| 5 |
-
"attention_probs_dropout_prob": 0.1,
|
| 6 |
-
"classifier_dropout": null,
|
| 7 |
-
"hidden_act": "gelu",
|
| 8 |
-
"hidden_dropout_prob": 0.1,
|
| 9 |
-
"hidden_size": 128,
|
| 10 |
-
"id2label": {
|
| 11 |
-
"0": "LABEL_0",
|
| 12 |
-
"1": "LABEL_1",
|
| 13 |
-
"2": "LABEL_2",
|
| 14 |
-
"3": "LABEL_3",
|
| 15 |
-
"4": "LABEL_4"
|
| 16 |
-
},
|
| 17 |
-
"initializer_range": 0.02,
|
| 18 |
-
"intermediate_size": 512,
|
| 19 |
-
"label2id": {
|
| 20 |
-
"LABEL_0": 0,
|
| 21 |
-
"LABEL_1": 1,
|
| 22 |
-
"LABEL_2": 2,
|
| 23 |
-
"LABEL_3": 3,
|
| 24 |
-
"LABEL_4": 4
|
| 25 |
-
},
|
| 26 |
-
"layer_norm_eps": 1e-12,
|
| 27 |
-
"max_position_embeddings": 512,
|
| 28 |
-
"model_type": "bert",
|
| 29 |
-
"num_attention_heads": 2,
|
| 30 |
-
"num_hidden_layers": 2,
|
| 31 |
-
"pad_token_id": 0,
|
| 32 |
-
"position_embedding_type": "absolute",
|
| 33 |
-
"problem_type": "single_label_classification",
|
| 34 |
-
"torch_dtype": "float32",
|
| 35 |
-
"transformers_version": "4.53.0",
|
| 36 |
-
"type_vocab_size": 2,
|
| 37 |
-
"use_cache": true,
|
| 38 |
-
"vocab_size": 30522
|
| 39 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-2/model.safetensors
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:d5a0e801eab49ba9848d569526638fad730da851f32f4bb7fa16c0f9476c5f20
|
| 3 |
-
size 17550860
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-2/optimizer.pt
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:dbe201e0807039f9b46ee2605da2cead835cf8c0dc57590b3a3db8d69763300d
|
| 3 |
-
size 35126283
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-2/rng_state.pth
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:6cf3d31d47b4be980adcc923c631329a1f7fd66a6235c22bc8c6b611fd6eac60
|
| 3 |
-
size 14455
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-2/scheduler.pt
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:9738a966c4fb3c4068232cb6c795a6d7a0673d04faa04ad7edb8d8a29248bcdc
|
| 3 |
-
size 1465
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-2/special_tokens_map.json
DELETED
|
@@ -1,7 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"cls_token": "[CLS]",
|
| 3 |
-
"mask_token": "[MASK]",
|
| 4 |
-
"pad_token": "[PAD]",
|
| 5 |
-
"sep_token": "[SEP]",
|
| 6 |
-
"unk_token": "[UNK]"
|
| 7 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-2/tokenizer.json
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|
campaign-training/results/checkpoint-2/tokenizer_config.json
DELETED
|
@@ -1,58 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"added_tokens_decoder": {
|
| 3 |
-
"0": {
|
| 4 |
-
"content": "[PAD]",
|
| 5 |
-
"lstrip": false,
|
| 6 |
-
"normalized": false,
|
| 7 |
-
"rstrip": false,
|
| 8 |
-
"single_word": false,
|
| 9 |
-
"special": true
|
| 10 |
-
},
|
| 11 |
-
"100": {
|
| 12 |
-
"content": "[UNK]",
|
| 13 |
-
"lstrip": false,
|
| 14 |
-
"normalized": false,
|
| 15 |
-
"rstrip": false,
|
| 16 |
-
"single_word": false,
|
| 17 |
-
"special": true
|
| 18 |
-
},
|
| 19 |
-
"101": {
|
| 20 |
-
"content": "[CLS]",
|
| 21 |
-
"lstrip": false,
|
| 22 |
-
"normalized": false,
|
| 23 |
-
"rstrip": false,
|
| 24 |
-
"single_word": false,
|
| 25 |
-
"special": true
|
| 26 |
-
},
|
| 27 |
-
"102": {
|
| 28 |
-
"content": "[SEP]",
|
| 29 |
-
"lstrip": false,
|
| 30 |
-
"normalized": false,
|
| 31 |
-
"rstrip": false,
|
| 32 |
-
"single_word": false,
|
| 33 |
-
"special": true
|
| 34 |
-
},
|
| 35 |
-
"103": {
|
| 36 |
-
"content": "[MASK]",
|
| 37 |
-
"lstrip": false,
|
| 38 |
-
"normalized": false,
|
| 39 |
-
"rstrip": false,
|
| 40 |
-
"single_word": false,
|
| 41 |
-
"special": true
|
| 42 |
-
}
|
| 43 |
-
},
|
| 44 |
-
"clean_up_tokenization_spaces": true,
|
| 45 |
-
"cls_token": "[CLS]",
|
| 46 |
-
"do_basic_tokenize": true,
|
| 47 |
-
"do_lower_case": true,
|
| 48 |
-
"extra_special_tokens": {},
|
| 49 |
-
"mask_token": "[MASK]",
|
| 50 |
-
"model_max_length": 1000000000000000019884624838656,
|
| 51 |
-
"never_split": null,
|
| 52 |
-
"pad_token": "[PAD]",
|
| 53 |
-
"sep_token": "[SEP]",
|
| 54 |
-
"strip_accents": null,
|
| 55 |
-
"tokenize_chinese_chars": true,
|
| 56 |
-
"tokenizer_class": "BertTokenizer",
|
| 57 |
-
"unk_token": "[UNK]"
|
| 58 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-2/trainer_state.json
DELETED
|
@@ -1,33 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"best_global_step": null,
|
| 3 |
-
"best_metric": null,
|
| 4 |
-
"best_model_checkpoint": null,
|
| 5 |
-
"epoch": 2.0,
|
| 6 |
-
"eval_steps": 500,
|
| 7 |
-
"global_step": 2,
|
| 8 |
-
"is_hyper_param_search": false,
|
| 9 |
-
"is_local_process_zero": true,
|
| 10 |
-
"is_world_process_zero": true,
|
| 11 |
-
"log_history": [],
|
| 12 |
-
"logging_steps": 500,
|
| 13 |
-
"max_steps": 3,
|
| 14 |
-
"num_input_tokens_seen": 0,
|
| 15 |
-
"num_train_epochs": 3,
|
| 16 |
-
"save_steps": 500,
|
| 17 |
-
"stateful_callbacks": {
|
| 18 |
-
"TrainerControl": {
|
| 19 |
-
"args": {
|
| 20 |
-
"should_epoch_stop": false,
|
| 21 |
-
"should_evaluate": false,
|
| 22 |
-
"should_log": false,
|
| 23 |
-
"should_save": true,
|
| 24 |
-
"should_training_stop": false
|
| 25 |
-
},
|
| 26 |
-
"attributes": {}
|
| 27 |
-
}
|
| 28 |
-
},
|
| 29 |
-
"total_flos": 243406716.0,
|
| 30 |
-
"train_batch_size": 8,
|
| 31 |
-
"trial_name": null,
|
| 32 |
-
"trial_params": null
|
| 33 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-2/training_args.bin
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:0a5e0b28411e163fe1c9b4be538f8c9cb9e2865ee7c5f349e38bc5b0ccedaf8b
|
| 3 |
-
size 5713
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-2/vocab.txt
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|
campaign-training/results/checkpoint-3/config.json
DELETED
|
@@ -1,39 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"architectures": [
|
| 3 |
-
"BertForSequenceClassification"
|
| 4 |
-
],
|
| 5 |
-
"attention_probs_dropout_prob": 0.1,
|
| 6 |
-
"classifier_dropout": null,
|
| 7 |
-
"hidden_act": "gelu",
|
| 8 |
-
"hidden_dropout_prob": 0.1,
|
| 9 |
-
"hidden_size": 128,
|
| 10 |
-
"id2label": {
|
| 11 |
-
"0": "LABEL_0",
|
| 12 |
-
"1": "LABEL_1",
|
| 13 |
-
"2": "LABEL_2",
|
| 14 |
-
"3": "LABEL_3",
|
| 15 |
-
"4": "LABEL_4"
|
| 16 |
-
},
|
| 17 |
-
"initializer_range": 0.02,
|
| 18 |
-
"intermediate_size": 512,
|
| 19 |
-
"label2id": {
|
| 20 |
-
"LABEL_0": 0,
|
| 21 |
-
"LABEL_1": 1,
|
| 22 |
-
"LABEL_2": 2,
|
| 23 |
-
"LABEL_3": 3,
|
| 24 |
-
"LABEL_4": 4
|
| 25 |
-
},
|
| 26 |
-
"layer_norm_eps": 1e-12,
|
| 27 |
-
"max_position_embeddings": 512,
|
| 28 |
-
"model_type": "bert",
|
| 29 |
-
"num_attention_heads": 2,
|
| 30 |
-
"num_hidden_layers": 2,
|
| 31 |
-
"pad_token_id": 0,
|
| 32 |
-
"position_embedding_type": "absolute",
|
| 33 |
-
"problem_type": "single_label_classification",
|
| 34 |
-
"torch_dtype": "float32",
|
| 35 |
-
"transformers_version": "4.53.0",
|
| 36 |
-
"type_vocab_size": 2,
|
| 37 |
-
"use_cache": true,
|
| 38 |
-
"vocab_size": 30522
|
| 39 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-3/model.safetensors
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:01c51f0baa1ae1c95ac47186c60effa403bb7c6c784e8118d9af59030808be17
|
| 3 |
-
size 17550860
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-3/optimizer.pt
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:d6665bb2b6553447a16e374c0123efbcab26caa4358fbeb4012e15ac1f8ee000
|
| 3 |
-
size 35126283
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-3/rng_state.pth
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:54368e65f4bc80daa0ec10bd9a5c02da12272f4deb7b9a1a366dc89778b313a8
|
| 3 |
-
size 14455
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-3/scheduler.pt
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:801f2d7a15a5a1d82d97d0d0399caf122b35c1a8ce4358491ecbaca4ca4db994
|
| 3 |
-
size 1465
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-3/special_tokens_map.json
DELETED
|
@@ -1,7 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"cls_token": "[CLS]",
|
| 3 |
-
"mask_token": "[MASK]",
|
| 4 |
-
"pad_token": "[PAD]",
|
| 5 |
-
"sep_token": "[SEP]",
|
| 6 |
-
"unk_token": "[UNK]"
|
| 7 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-3/tokenizer.json
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|
campaign-training/results/checkpoint-3/tokenizer_config.json
DELETED
|
@@ -1,58 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"added_tokens_decoder": {
|
| 3 |
-
"0": {
|
| 4 |
-
"content": "[PAD]",
|
| 5 |
-
"lstrip": false,
|
| 6 |
-
"normalized": false,
|
| 7 |
-
"rstrip": false,
|
| 8 |
-
"single_word": false,
|
| 9 |
-
"special": true
|
| 10 |
-
},
|
| 11 |
-
"100": {
|
| 12 |
-
"content": "[UNK]",
|
| 13 |
-
"lstrip": false,
|
| 14 |
-
"normalized": false,
|
| 15 |
-
"rstrip": false,
|
| 16 |
-
"single_word": false,
|
| 17 |
-
"special": true
|
| 18 |
-
},
|
| 19 |
-
"101": {
|
| 20 |
-
"content": "[CLS]",
|
| 21 |
-
"lstrip": false,
|
| 22 |
-
"normalized": false,
|
| 23 |
-
"rstrip": false,
|
| 24 |
-
"single_word": false,
|
| 25 |
-
"special": true
|
| 26 |
-
},
|
| 27 |
-
"102": {
|
| 28 |
-
"content": "[SEP]",
|
| 29 |
-
"lstrip": false,
|
| 30 |
-
"normalized": false,
|
| 31 |
-
"rstrip": false,
|
| 32 |
-
"single_word": false,
|
| 33 |
-
"special": true
|
| 34 |
-
},
|
| 35 |
-
"103": {
|
| 36 |
-
"content": "[MASK]",
|
| 37 |
-
"lstrip": false,
|
| 38 |
-
"normalized": false,
|
| 39 |
-
"rstrip": false,
|
| 40 |
-
"single_word": false,
|
| 41 |
-
"special": true
|
| 42 |
-
}
|
| 43 |
-
},
|
| 44 |
-
"clean_up_tokenization_spaces": true,
|
| 45 |
-
"cls_token": "[CLS]",
|
| 46 |
-
"do_basic_tokenize": true,
|
| 47 |
-
"do_lower_case": true,
|
| 48 |
-
"extra_special_tokens": {},
|
| 49 |
-
"mask_token": "[MASK]",
|
| 50 |
-
"model_max_length": 1000000000000000019884624838656,
|
| 51 |
-
"never_split": null,
|
| 52 |
-
"pad_token": "[PAD]",
|
| 53 |
-
"sep_token": "[SEP]",
|
| 54 |
-
"strip_accents": null,
|
| 55 |
-
"tokenize_chinese_chars": true,
|
| 56 |
-
"tokenizer_class": "BertTokenizer",
|
| 57 |
-
"unk_token": "[UNK]"
|
| 58 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-3/trainer_state.json
DELETED
|
@@ -1,33 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"best_global_step": null,
|
| 3 |
-
"best_metric": null,
|
| 4 |
-
"best_model_checkpoint": null,
|
| 5 |
-
"epoch": 3.0,
|
| 6 |
-
"eval_steps": 500,
|
| 7 |
-
"global_step": 3,
|
| 8 |
-
"is_hyper_param_search": false,
|
| 9 |
-
"is_local_process_zero": true,
|
| 10 |
-
"is_world_process_zero": true,
|
| 11 |
-
"log_history": [],
|
| 12 |
-
"logging_steps": 500,
|
| 13 |
-
"max_steps": 3,
|
| 14 |
-
"num_input_tokens_seen": 0,
|
| 15 |
-
"num_train_epochs": 3,
|
| 16 |
-
"save_steps": 500,
|
| 17 |
-
"stateful_callbacks": {
|
| 18 |
-
"TrainerControl": {
|
| 19 |
-
"args": {
|
| 20 |
-
"should_epoch_stop": false,
|
| 21 |
-
"should_evaluate": false,
|
| 22 |
-
"should_log": false,
|
| 23 |
-
"should_save": true,
|
| 24 |
-
"should_training_stop": true
|
| 25 |
-
},
|
| 26 |
-
"attributes": {}
|
| 27 |
-
}
|
| 28 |
-
},
|
| 29 |
-
"total_flos": 365110074.0,
|
| 30 |
-
"train_batch_size": 8,
|
| 31 |
-
"trial_name": null,
|
| 32 |
-
"trial_params": null
|
| 33 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-3/training_args.bin
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:0a5e0b28411e163fe1c9b4be538f8c9cb9e2865ee7c5f349e38bc5b0ccedaf8b
|
| 3 |
-
size 5713
|
|
|
|
|
|
|
|
|
|
|
|
campaign-training/results/checkpoint-3/vocab.txt
DELETED
|
The diff for this file is too large to render.
See raw diff
|
|
|
campaign-training/train_model.py
DELETED
|
@@ -1,58 +0,0 @@
|
|
| 1 |
-
import pandas as pd
|
| 2 |
-
from datasets import Dataset
|
| 3 |
-
from transformers import AutoTokenizer, AutoModelForSequenceClassification, TrainingArguments, Trainer
|
| 4 |
-
from sklearn.preprocessing import LabelEncoder
|
| 5 |
-
import joblib
|
| 6 |
-
|
| 7 |
-
# Load dataset
|
| 8 |
-
df = pd.read_csv("campaign_data.csv")
|
| 9 |
-
df["text"] = df["client_interest"] + " Sentiment: " + df["sentiment"]
|
| 10 |
-
|
| 11 |
-
# Encode labels
|
| 12 |
-
le = LabelEncoder()
|
| 13 |
-
df["label"] = le.fit_transform(df["template_id"])
|
| 14 |
-
|
| 15 |
-
# Convert to Hugging Face dataset
|
| 16 |
-
dataset = Dataset.from_pandas(df[["text", "label"]])
|
| 17 |
-
dataset = dataset.train_test_split(test_size=0.2)
|
| 18 |
-
|
| 19 |
-
# Tokenization
|
| 20 |
-
tokenizer = AutoTokenizer.from_pretrained("prajjwal1/bert-tiny")
|
| 21 |
-
|
| 22 |
-
def tokenize_function(batch):
|
| 23 |
-
return tokenizer(batch["text"], padding=True, truncation=True)
|
| 24 |
-
|
| 25 |
-
tokenized_dataset = dataset.map(tokenize_function, batched=True)
|
| 26 |
-
|
| 27 |
-
# Load tiny model
|
| 28 |
-
model = AutoModelForSequenceClassification.from_pretrained(
|
| 29 |
-
"prajjwal1/bert-tiny",
|
| 30 |
-
num_labels=len(le.classes_)
|
| 31 |
-
)
|
| 32 |
-
|
| 33 |
-
# Define training arguments
|
| 34 |
-
training_args = TrainingArguments(
|
| 35 |
-
output_dir="./results",
|
| 36 |
-
per_device_train_batch_size=8,
|
| 37 |
-
per_device_eval_batch_size=8,
|
| 38 |
-
num_train_epochs=3,
|
| 39 |
-
save_strategy="epoch",
|
| 40 |
-
logging_dir="./logs"
|
| 41 |
-
)
|
| 42 |
-
|
| 43 |
-
# Trainer setup
|
| 44 |
-
trainer = Trainer(
|
| 45 |
-
model=model,
|
| 46 |
-
args=training_args,
|
| 47 |
-
train_dataset=tokenized_dataset["train"],
|
| 48 |
-
eval_dataset=tokenized_dataset["test"],
|
| 49 |
-
tokenizer=tokenizer
|
| 50 |
-
)
|
| 51 |
-
|
| 52 |
-
# Train and save
|
| 53 |
-
trainer.train()
|
| 54 |
-
model.save_pretrained("campaign-bert-model")
|
| 55 |
-
tokenizer.save_pretrained("campaign-bert-model")
|
| 56 |
-
joblib.dump(le, "label_encoder.pkl")
|
| 57 |
-
|
| 58 |
-
print("✅ Model training complete and saved successfully.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|