Our main idea is that researchers waste too much time managing their projects because tooling is hard to set up. We believe that project plumbing should "just work in a sane way", so we set you up to do YAML configuration management, logging to multiple modalities (image files, Visdom, log files, stdout, etc.) with no changes.
Thanks to the UPenn Computer Vision Group and several individuals in GRASP for their generous feedback.
Now get back to research!
-Mia & Matt
great work! Have you heard of PyTorch Lightning (https://github.com/PyTorchLightning/pytorch-lightning) and there conference seed repo (https://github.com/PyTorchLightning/pytorch-lightning-confer...)? Maybe it would make sense to join forces.
Ignite is still in alpha and needs to catch up, but I get the feeling that PyTorch / FB will commit resources rather than folding in Lightning (unlike TF did w/ Keras). The new releases are already promising (w.r.t. distributed training).
Always looking to collaborate, and please lmk if anything above is incorrect.
b) I was wondering if you could give some documentation for what's in this repo. I'm looking around right now and I think I've found the main yaml config file (I'm guessing its the one in research/configs/default.yaml), but I'm unsure what else is included in the boilerplate (outside of the libraries you've mentioned) and how to use it.
b) This repo contains a sample research repository. The sample we provide is training MNIST for classification.
To use: (1) install using the installation instructions in README.md, then (2) train using "python research/train.py".
When you train: (a) a timestamped folder will show up in (/outputs) containing training logs (b) a Visdom server will auto spinup on port 8000 (localhost:8000) showing training plots
Correct, the config comes from (research/configs/default.yaml). The magic of Hydra (thanks to Omry Yadan @omry) is that you hierarchically define yaml configs. I.e. in default.yaml, when you say "backbone: vgg19", that pulls in the config "vgg19.yaml" and merges it with the default.yaml config.
Specific things we include: - "LogDirector" that lets you log to multiple modalities by setting up a recipe - example of correct Hydra usage - example of Ignite usage - auto Visdom server spinup - lots of helper functions common in computer vision research
We're still working on docs, they are not clear enough!