The attached code files provide definitions of the used models, together with scripts facilitating their training:

* src/[tcn.py, vae.py, vae_gs.py, aae.py] - various network definitions
* src/[train_<model_name>.py] - script for training model <model_name>
* src/data_generator.py - a data generator which produces a Pytorch dataset. Assumes data is present in ../data - 10 folders for the 10 used labels
* Dockerfile, Makefile, requirements.txt - files for Docker setup

The experiments were performed using Docker, providing a consistent environment with respect to any software dependencies. Before running any of the training scripts:
1) run `make build` - build the Docker image from the folder containing the Dockerfile and Makefile
2) run `make bash` - start a container (and a shell) using the built image

After starting the container the models can be trained within the container:
1) `cd weak_label_lfd` if not already there
2) place dataset in weak_label_lfd/data
3) `python src/train_<model_name>.py`
4) trained models can be found in results_<model_name>/