# Training

Basic command:

```bash
combo --mode train \
      --training_data_path your_training_path \
      --validation_data_path your_validation_path \
      --serialization_dir directory_to_store_model_output_in
```

Options:

```bash
combo --helpfull
```

## Examples

For clarity, the training and validation data paths, as well as serialization directory path,
are omitted.

Train on multiple accelerators (default: train on all available ones)
```bash
combo --mode train --n_cuda_devices 8
```

Use pretrained transformer embeddings:

```bash
combo --mode train --pretrained_transformer_name your_chosen_pretrained_transformer
```

Train only a dependency parser:

```bash
combo --mode train --targets head,deprel
```

Use additional features (e.g. part-of-speech tags) for training a dependency parser 
(```token``` and ```char``` are default features)

```bash
combo --mode train --targets head,deprel --features token,char,upostag
```

# Custom configuration

Use a custom configuration:

```bash
combo --config_path configuration.json
```

Discard any flags (including default flag values - without this flag, the default values
will override configuration!)

```bash
combo --config_path configuration.json --use_pure_config
```

## Finetuning

Finetune a pre-trained model:

```bash
combo --mode train --finetune \
       --finetuning_training_data_path your_training_path \
       --finetuning_validation_data_path your_validation_path \
       --model_path pretrained_model_path
```