## Requirements

Python 3.10.12,
Neptune>=1.0,
Lightning>=2.0.1,
torch,
torchvision,
pytorchvideo,
pytorch_lightning,
torchmetrics,
numpy,
pandas,
os,
shutil,
sklearn,
time.

## How to conduct an experiments*
*Experiment results are presented in the Results section of the paper
#### Prerequisites:
Apart from tools and packages listed in Requirements, you should have account and created project at https://neptune.ai/. 

#### Step-by-step instruction:
1. Put credentials (`project, api_token`) for your created neptune project at `init_run()` method.
1. Change `solver` to anything other than `'kaggle'` if you don't use Kaggle notebook.
1. Change `RRCropScale` and `RRCropScale_test` if needed (used values are given in the paper)
1. Change `seed` if needed (used values are given as comment). 
1. Change `target_cell` to `'rbc'` or `'wbc'` for red or white blood cells classification respectively. 
1. Change `dataset_path` (path should lead to folder with "traffic" folders, where X is the number of sample).
1. Change `dataframe_path` (path should lead to folder with 'DataFrame1.csv')
1. Change `use_curriculum` to `True` if you would like to run training with curriculum learning, `False` otherwise.
1. Change parameters in dictionary `params` if needed (located under 'Model' header, used values are given in the paper).
1. From this point you can run all cells. Apart from used notebook, results will appear in your neptune project, along with some experimental details.