DeepDIVA makes it easy to reproduce an experiment. This is done by ensuring that:
Here are the some of the most common scenarios for reproducibility.
To make the source code easily available:
--seed <number>--ignoregit flag.Along with the data that was used to run the experiment, the experiment folder contains all the necessary information to reproduce the exact experiment:
logs.txt in the experiment folder contain information about theargs.txt contains all the command line arguments that were used with the specific source code.Let’s make a Github reproducible experiment using DeepDIVA.
set_up_dataloaders in the file DeepDIVA/template/setup.py.transforms.Resize(model_expected_input_size), to transforms.CenterCrop(model_expected_input_size)While DeepDIVA can be helpful for experiment reproducibility, it nonetheless introduces a certain degree of overhead that is not desirable during development. In this scenario, one can suppress the requirement to have Github commits using the command --ignoregit. In this situation, a copy of the code used to run an experiment is made and stored in the experiment folder inside a tarfile (DeepDIVA.tar.gz).
As in the previous scenario, all arguments are still stored in args.txt.
If a seed is not manually specified, a random number is chosen, logged and used to seed all the pseudo-random generators.