ClassificationModel .train_model strange behaviour / errors
Author: bk1n
Pull request: no

### System Info

- `transformers` version: 4.23.1
- Platform: macOS-10.16-x86_64-i386-64bit
- Python version: 3.10.6
- Huggingface_hub version: 0.10.1
- PyTorch version (GPU?): 1.12.1 (False)
- Tensorflow version (GPU?): not installed (NA)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed
- Using GPU in script?: No
- Using distributed or parallel set-up in script?: Distributed

### Who can help?

@LysandreJik


### Information

- [ ] The official example scripts
- [X] My own modified scripts

### Tasks

- [ ] An officially supported task in the `examples` folder (such as GLUE/SQuAD, ...)
- [X] My own task or dataset (give details below)

### Reproduction

I am trying to do a very simple training of a HuggingFace model from the community in VS Code. This code works in Jupyter Notebook and the model is seemingly training (progress bar appears and moves) but not when running on the command line (Terminal) or in the interactive cells in VS code. Can I get this code to work in VS code?

Apologies for the long error traces but this is what is being printed in the console. 

Appreciate any help with this.

train_dataset:
![image](https://user-images.githubusercontent.com/75484578/196668794-5ece86ea-cd44-4c9a-9878-dae73c60221d.png)


1.  `conda create -n ENVIRONMENT python=3.10`
2. Install packages using pip:
```Python
import subprocess
import sys

def install(package):
  subprocess.check_call([sys.executable, '-m', 'pip', 'install', package])
  
package_list = ['numpy','pandas', 'matplotlib', 'torch', 'transformers', 'simpletransformers']

for i in package_list:
  install(i)
  print('Installed', i)
```
3. Run .py file containing model parameters and training in environment:
```Python
import torch
import pandas as pd
import transformers
from simpletransformers.classification import ClassificationModel, ClassificationArgs

cuda_available = torch.cuda.is_available()
  
df = pd.read_csv('./data/bindingDB/processed_data/data.csv')

df = df[['SMILES', 'label']].rename(columns={'SMILES':'smiles', 'label':'labels'})

model_args = ClassificationArgs()
model_args.num_train_epochs = 5
model_args.output_dir = './model_outputs/baBERTa/'
model_args.regression = True

model = ClassificationModel(model_type= 'roberta', 
                            model_name='seyonec/ChemBERTa-zinc-base-v1',
                            use_cuda=cuda_available,
                            num_labels=1,
                            args=model_args) 

train_size = 0.8
train_dataset=df.sample(frac=train_size,random_state=200).reset_index(drop=True)
test_dataset=df.drop(train_dataset.index).reset_index(drop=True)

#train model
model.train_model(train_dataset) # STRANGE BEHAVIOUR HERE !
```
4. Observe model.train_model(train_dataset) produces strange behaviours:
```text
Some weights of the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 were not used when initializing RobertaForSequenceClassification: ['lm_head.layer_norm.weight', 'roberta.pooler.dense.bias', 'lm_head.decoder.weight', 'roberta.pooler.dense.weight', 'lm_head.bias', 'lm_head.dense.bias', 'lm_head.dense.weight', 'lm_head.decoder.bias', 'lm_head.layer_norm.bias']
- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 and are newly initialized: ['classifier.dense.weight', 'classifier.out_proj.weight', 'classifier.out_proj.bias', 'classifier.dense.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
Some weights of the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 were not used when initializing RobertaForSequenceClassification: ['lm_head.layer_norm.weight', 'lm_head.decoder.weight', 'lm_head.decoder.bias', 'lm_head.bias', 'roberta.pooler.dense.bias', 'lm_head.dense.weight', 'lm_head.dense.bias', 'lm_head.layer_norm.bias', 'roberta.pooler.dense.weight']
- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 and are newly initialized: ['classifier.dense.weight', 'classifier.dense.bias', 'classifier.out_proj.bias', 'classifier.out_proj.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
Some weights of the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 were not used when initializing RobertaForSequenceClassification: ['lm_head.dense.bias', 'lm_head.decoder.bias', 'lm_head.layer_norm.weight', 'lm_head.bias', 'roberta.pooler.dense.weight', 'lm_head.layer_norm.bias', 'lm_head.dense.weight', 'lm_head.decoder.weight', 'roberta.pooler.dense.bias']
- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 and are newly initialized: ['classifier.out_proj.weight', 'classifier.dense.bias', 'classifier.out_proj.bias', 'classifier.dense.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
Some weights of the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 were not used when initializing RobertaForSequenceClassification: ['roberta.pooler.dense.bias', 'lm_head.bias', 'roberta.pooler.dense.weight', 'lm_head.decoder.weight', 'lm_head.dense.bias', 'lm_head.layer_norm.weight', 'lm_head.layer_norm.bias', 'lm_head.dense.weight', 'lm_head.decoder.bias']
- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 and are newly initialized: ['classifier.out_proj.bias', 'classifier.out_proj.weight', 'classifier.dense.bias', 'classifier.dense.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
Some weights of the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 were not used when initializing RobertaForSequenceClassification: ['lm_head.bias', 'lm_head.layer_norm.bias', 'lm_head.dense.bias', 'lm_head.decoder.weight', 'roberta.pooler.dense.bias', 'lm_head.decoder.bias', 'lm_head.layer_norm.weight', 'roberta.pooler.dense.weight', 'lm_head.dense.weight']
- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 and are newly initialized: ['classifier.out_proj.bias', 'classifier.out_proj.weight', 'classifier.dense.weight', 'classifier.dense.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
Some weights of the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 were not used when initializing RobertaForSequenceClassification: ['lm_head.layer_norm.weight', 'lm_head.decoder.weight', 'lm_head.dense.weight', 'lm_head.decoder.bias', 'roberta.pooler.dense.bias', 'lm_head.bias', 'roberta.pooler.dense.weight', 'lm_head.dense.bias', 'lm_head.layer_norm.bias']
- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 and are newly initialized: ['classifier.dense.bias', 'classifier.out_proj.weight', 'classifier.dense.weight', 'classifier.out_proj.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
Some weights of the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 were not used when initializing RobertaForSequenceClassification: ['lm_head.decoder.bias', 'lm_head.layer_norm.bias', 'roberta.pooler.dense.weight', 'lm_head.dense.weight', 'lm_head.dense.bias', 'lm_head.layer_norm.weight', 'roberta.pooler.dense.bias', 'lm_head.decoder.weight', 'lm_head.bias']
- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 and are newly initialized: ['classifier.dense.weight', 'classifier.out_proj.bias', 'classifier.dense.bias', 'classifier.out_proj.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
Some weights of the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 were not used when initializing RobertaForSequenceClassification: ['lm_head.layer_norm.weight', 'lm_head.decoder.weight', 'lm_head.dense.weight', 'lm_head.layer_norm.bias', 'lm_head.bias', 'roberta.pooler.dense.bias', 'lm_head.decoder.bias', 'roberta.pooler.dense.weight', 'lm_head.dense.bias']
- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at seyonec/ChemBERTa-zinc-base-v1 and are newly initialized: ['classifier.out_proj.weight', 'classifier.out_proj.bias', 'classifier.dense.bias', 'classifier.dense.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py:612: UserWarning: Dataframe headers not specified. Falling back to using column 0 as text and column 1 as labels.
  warnings.warn(
/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py:612: UserWarning: Dataframe headers not specified. Falling back to using column 0 as text and column 1 as labels.
  warnings.warn(
Traceback (most recent call last):
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <module>
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 116, in spawn_main
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 125, in _main
    exitcode = _main(fd, parent_sentinel)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 125, in _main
    prepare(preparation_data)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 236, in prepare
    prepare(preparation_data)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 287, in _fixup_main_from_path
    _fixup_main_from_path(data['init_main_from_path'])
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 289, in run_path
    main_content = runpy.run_path(main_path,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 289, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 96, in _run_module_code
    return _run_module_code(code, init_globals, run_name,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 96, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 86, in _run_code
    _run_code(code, mod_globals, init_globals,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/Users/<User>/Documents/GitHub/baBERT/RoBERTaBa_simple.py", line 39, in <module>
    exec(code, run_globals)
  File "/Users/<User>/Documents/GitHub/baBERT/RoBERTaBa_simple.py", line 39, in <module>
        model.train_model(train_dataset)model.train_model(train_dataset)

  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py", line 619, in train_model
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py", line 619, in train_model
    train_dataset = self.load_and_cache_examples(
      File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py", line 1827, in load_and_cache_examples
train_dataset = self.load_and_cache_examples(
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py", line 1827, in load_and_cache_examples
    dataset = ClassificationDataset(
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_utils.py", line 282, in __init__
    dataset = ClassificationDataset(
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_utils.py", line 282, in __init__
    self.examples, self.labels = build_classification_dataset(
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_utils.py", line 248, in build_classification_dataset
    self.examples, self.labels = build_classification_dataset(
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_utils.py", line 248, in build_classification_dataset
    with Pool(args.process_count) as p:
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/context.py", line 119, in Pool
    with Pool(args.process_count) as p:
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/context.py", line 119, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 215, in __init__
    return Pool(processes, initializer, initargs, maxtasksperchild,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 215, in __init__
    self._repopulate_pool()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 306, in _repopulate_pool
    self._repopulate_pool()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 306, in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 329, in _repopulate_pool_static
    return self._repopulate_pool_static(self._ctx, self.Process,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 329, in _repopulate_pool_static
    w.start()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/process.py", line 121, in start
    w.start()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)self._popen = self._Popen(self)

  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/context.py", line 288, in _Popen
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/context.py", line 288, in _Popen
    return Popen(process_obj)    return Popen(process_obj)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 32, in __init__

  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
    super().__init__(process_obj)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)    
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 42, in _launch
self._launch(process_obj)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 42, in _launch
    prep_data = spawn.get_preparation_data(process_obj._name)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 154, in get_preparation_data
    prep_data = spawn.get_preparation_data(process_obj._name)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 154, in get_preparation_data
    _check_not_importing_main()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 134, in _check_not_importing_main
    _check_not_importing_main()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 134, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError: 
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
    raise RuntimeError('''
RuntimeError: 
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py:612: UserWarning: Dataframe headers not specified. Falling back to using column 0 as text and column 1 as labels.
  warnings.warn(
/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py:612: UserWarning: Dataframe headers not specified. Falling back to using column 0 as text and column 1 as labels.
  warnings.warn(
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 125, in _main
    prepare(preparation_data)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 289, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 96, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/Users/<User>/Documents/GitHub/baBERT/RoBERTaBa_simple.py", line 39, in <module>
    model.train_model(train_dataset)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py", line 619, in train_model
    train_dataset = self.load_and_cache_examples(
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py", line 1827, in load_and_cache_examples
Traceback (most recent call last):
    dataset = ClassificationDataset(
  File "<string>", line 1, in <module>
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_utils.py", line 282, in __init__
    self.examples, self.labels = build_classification_dataset(
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_utils.py", line 248, in build_classification_dataset
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 116, in spawn_main
    with Pool(args.process_count) as p:
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/context.py", line 119, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 215, in __init__
    self._repopulate_pool()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 306, in _repopulate_pool
    exitcode = _main(fd, parent_sentinel)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 125, in _main
    return self._repopulate_pool_static(self._ctx, self.Process,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 329, in _repopulate_pool_static
    prepare(preparation_data)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 236, in prepare
    w.start()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/process.py", line 121, in start
    _fixup_main_from_path(data['init_main_from_path'])
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 287, in _fixup_main_from_path
    self._popen = self._Popen(self)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/context.py", line 288, in _Popen
    main_content = runpy.run_path(main_path,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 289, in run_path
    return Popen(process_obj)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    return _run_module_code(code, init_globals, run_name,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 96, in _run_module_code
    super().__init__(process_obj)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
    _run_code(code, mod_globals, init_globals,
      File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/runpy.py", line 86, in _run_code
self._launch(process_obj)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 42, in _launch
    prep_data = spawn.get_preparation_data(process_obj._name)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 154, in get_preparation_data
    exec(code, run_globals)
  File "/Users/<User>/Documents/GitHub/baBERT/RoBERTaBa_simple.py", line 39, in <module>
    model.train_model(train_dataset)
      File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py", line 619, in train_model
_check_not_importing_main()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 134, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError: 
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
    train_dataset = self.load_and_cache_examples(
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py", line 1827, in load_and_cache_examples
    dataset = ClassificationDataset(
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_utils.py", line 282, in __init__
    self.examples, self.labels = build_classification_dataset(
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_utils.py", line 248, in build_classification_dataset
    with Pool(args.process_count) as p:
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/context.py", line 119, in Pool
/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py:612: UserWarning: Dataframe headers not specified. Falling back to using column 0 as text and column 1 as labels.
  warnings.warn(
    return Pool(processes, initializer, initargs, maxtasksperchild,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 215, in __init__
/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/simpletransformers/classification/classification_model.py:612: UserWarning: Dataframe headers not specified. Falling back to using column 0 as text and column 1 as labels.
  warnings.warn(
    self._repopulate_pool()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 306, in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/pool.py", line 329, in _repopulate_pool_static
    w.start()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/context.py", line 288, in _Popen
    return Popen(process_obj)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 42, in _launch
    prep_data = spawn.get_preparation_data(process_obj._name)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 154, in get_preparation_data
    _check_not_importing_main()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/multiprocessing/spawn.py", line 134, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError: 
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
```
This keeps being printed until I interrupt the process. What's printed is seemingly random, running the file again I produced this for example:
```
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_discrete_distns.py", line 1443, in <module>
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_levy_stable/__init__.py", line 17, in <module>
    from ._levy_stable import levy_stable    
from ._levy_stable import levy_stable
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_levy_stable/__init__.py", line 17, in <module>
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_levy_stable/__init__.py", line 17, in <module>
    from ._levy_stable import levy_stable
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_levy_stable/__init__.py", line 17, in <module>
    from ._levy_stable import levy_stable
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_levy_stable/__init__.py", line 17, in <module>
    from .levyst import Nolan
  File "<frozen importlib._bootstrap>", line 404, in parent
    from .levyst import Nolan
  File "<frozen importlib._bootstrap>", line 404, in parent
    from .levyst import Nolan
  File "<frozen importlib._bootstrap>", line 404, in parent
    from .levyst import Nolan
  File "<frozen importlib._bootstrap>", line 404, in parent
    from .levyst import Nolan
  File "<frozen importlib._bootstrap>", line 404, in parent
    from .levyst import Nolan
  File "<frozen importlib._bootstrap>", line 404, in parent
KeyboardInterrupt
KeyboardInterruptKeyboardInterrupt

KeyboardInterrupt
KeyboardInterruptKeyboardInterrupt

    yulesimon = yulesimon_gen(name='yulesimon', a=1)
      File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_distn_infrastructure.py", line 3190, in __init__
skellam = skellam_gen(a=-np.inf, name="skellam", longname='A Skellam')
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_distn_infrastructure.py", line 3186, in __init__
    self._attach_methods()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_distn_infrastructure.py", line 3207, in _attach_methods
    self._construct_argparser(meths_to_inspect=[self._pmf, self._cdf],
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_distn_infrastructure.py", line 741, in _construct_argparser
    self._attach_argparser_methods()
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/stats/_distn_infrastructure.py", line 699, in _attach_argparser_methods
    shapes_args = _getfullargspec(meth)  # NB does not contain self
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/site-packages/scipy/_lib/_util.py", line 364, in getfullargspec_no_self
    exec(self._parse_arg_template, ns)
  File "<string>", line 1, in <module>
KeyboardInterrupt
    sig = inspect.signature(func)
  File "/Users/<User>/opt/anaconda3/envs/baBERTa/lib/python3.10/inspect.py", line 3247, in signature
```

### Expected behavior

Progress bar to appear and model to train for 5 epochs.

Comments:
This looks like this is an issue for the [SentenceTransformers](https://github.com/UKPLab/sentence-transformers) repo.