Add model config
Browse files- custom_config.json +128 -0
custom_config.json
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"dataset_reader": {
|
| 3 |
+
"class_name": "basic_classification_reader",
|
| 4 |
+
"x": "text",
|
| 5 |
+
"y": "sentiment",
|
| 6 |
+
"data_path": "/train/",
|
| 7 |
+
"train": "train.csv",
|
| 8 |
+
"valid": "valid.csv"
|
| 9 |
+
},
|
| 10 |
+
"dataset_iterator": {
|
| 11 |
+
"class_name": "basic_classification_iterator",
|
| 12 |
+
"seed": 42
|
| 13 |
+
},
|
| 14 |
+
"chainer": {
|
| 15 |
+
"in": [
|
| 16 |
+
"x"
|
| 17 |
+
],
|
| 18 |
+
"in_y": [
|
| 19 |
+
"y"
|
| 20 |
+
],
|
| 21 |
+
"pipe": [
|
| 22 |
+
{
|
| 23 |
+
"id": "classes_vocab",
|
| 24 |
+
"class_name": "simple_vocab",
|
| 25 |
+
"fit_on": [
|
| 26 |
+
"y"
|
| 27 |
+
],
|
| 28 |
+
"save_path": "custom_bert/classes.dict",
|
| 29 |
+
"load_path": "custom_bert/classes.dict",
|
| 30 |
+
"in": "y",
|
| 31 |
+
"out": "y_ids"
|
| 32 |
+
},
|
| 33 |
+
{
|
| 34 |
+
"class_name": "transformers_bert_preprocessor",
|
| 35 |
+
"vocab_file": "vocab.txt",
|
| 36 |
+
"do_lower_case": false,
|
| 37 |
+
"max_seq_length": 512,
|
| 38 |
+
"in": ["x"],
|
| 39 |
+
"out": ["tokens", "subword_tokens", "subword_tok_ids", "startofword_markers", "attention_mask"]
|
| 40 |
+
},
|
| 41 |
+
{
|
| 42 |
+
"class_name": "transformers_bert_embedder",
|
| 43 |
+
"id": "my_embedder",
|
| 44 |
+
"bert_config_path": "config.json",
|
| 45 |
+
"truncate": false,
|
| 46 |
+
"load_path": "custom_bert",
|
| 47 |
+
"in": ["subword_tok_ids", "startofword_markers", "attention_mask"],
|
| 48 |
+
"out": ["word_emb", "subword_emb", "max_emb", "mean_emb", "pooler_output"]
|
| 49 |
+
},
|
| 50 |
+
{
|
| 51 |
+
"in": "y_ids",
|
| 52 |
+
"out": "y_onehot",
|
| 53 |
+
"class_name": "one_hotter",
|
| 54 |
+
"depth": "#classes_vocab.len",
|
| 55 |
+
"single_vector": true
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"in": [
|
| 59 |
+
"word_emb"
|
| 60 |
+
],
|
| 61 |
+
"in_y": [
|
| 62 |
+
"y_onehot"
|
| 63 |
+
],
|
| 64 |
+
"out": [
|
| 65 |
+
"y_pred_probas"
|
| 66 |
+
],
|
| 67 |
+
"main": true,
|
| 68 |
+
"class_name": "keras_classification_model",
|
| 69 |
+
"save_path": "custom_bert/model",
|
| 70 |
+
"load_path": "custom_bert/model",
|
| 71 |
+
"embedding_size": "#my_embedder.dim",
|
| 72 |
+
"n_classes": "#classes_vocab.len",
|
| 73 |
+
"kernel_sizes_cnn": [
|
| 74 |
+
3,
|
| 75 |
+
5,
|
| 76 |
+
7
|
| 77 |
+
],
|
| 78 |
+
"filters_cnn": 512,
|
| 79 |
+
"optimizer": "Adam",
|
| 80 |
+
"learning_rate": 0.01,
|
| 81 |
+
"learning_rate_decay": 0.1,
|
| 82 |
+
"loss": "categorical_crossentropy",
|
| 83 |
+
"last_layer_activation": "softmax",
|
| 84 |
+
"coef_reg_cnn": 1e-3,
|
| 85 |
+
"coef_reg_den": 1e-2,
|
| 86 |
+
"dropout_rate": 0.5,
|
| 87 |
+
"dense_size": 100,
|
| 88 |
+
"model_name": "cnn_model"
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"in": "y_pred_probas",
|
| 92 |
+
"out": "y_pred_ids",
|
| 93 |
+
"class_name": "proba2labels",
|
| 94 |
+
"max_proba": true
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"in": "y_pred_ids",
|
| 98 |
+
"out": "y_pred_labels",
|
| 99 |
+
"ref": "classes_vocab"
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"out": [
|
| 103 |
+
"y_pred_labels"
|
| 104 |
+
]
|
| 105 |
+
},
|
| 106 |
+
"train": {
|
| 107 |
+
"epochs": 3,
|
| 108 |
+
"batch_size": 16,
|
| 109 |
+
"metrics": [
|
| 110 |
+
"accuracy",
|
| 111 |
+
"f1_macro",
|
| 112 |
+
"f1_weighted",
|
| 113 |
+
{
|
| 114 |
+
"name": "roc_auc",
|
| 115 |
+
"inputs": ["y_onehot", "y_pred_probas"]
|
| 116 |
+
}
|
| 117 |
+
],
|
| 118 |
+
"validation_patience": 1,
|
| 119 |
+
"val_every_n_epochs": 1,
|
| 120 |
+
"log_every_n_epochs": 1,
|
| 121 |
+
"show_examples": false,
|
| 122 |
+
"evaluation_targets": [
|
| 123 |
+
"train",
|
| 124 |
+
"valid"
|
| 125 |
+
],
|
| 126 |
+
"class_name": "nn_trainer"
|
| 127 |
+
}
|
| 128 |
+
}
|