5 comments

[ 3.1 ms ] story [ 20.8 ms ] thread
Hi HN, we want to present open-source boilerplate for computer vision research! The goal of this project is to provide a lightweight boilerplate repository that researchers, Ph.D. students, or generally curious individuals can clone to kick off their research.

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

a) Nice to see some Penn people here :)

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.

a) Likewise!

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!

Hi,

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.

I've had PyTorch Lightning recommended before, and heard it works great! My main concern is that it isn't officially supported, while Ignite is part of PyTorch.

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.