VowpalWabbit / vowpal_wabbit

Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.
https://vowpalwabbit.org
Other
8.48k stars 1.93k forks source link

Examples in the VW Repo are not easy to find #3083

Open lokitoth opened 3 years ago

lokitoth commented 3 years ago

There are a number of examples in various folders of the VW repo:

Discovering which example to refer to based on functionality can be challenging, especially for examples in the .../demo folder (see #3065). It would be desirable to have an index of examples that one could refer to, ideally listing which of VW's features they showcase.

Tasks

jackgerrits commented 3 years ago

There are several locations for examples:

  1. https://github.com/VowpalWabbit/jupyter-notebooks
    • These have been setup so they can be run on Binder, but with the Python wheels this should now be much easier
  2. https://github.com/VowpalWabbit/vowpalwabbit.github.io/tree/source/_tutorials
    • This is actually kind of manual conversion of the contents of 1. These need to be kept in sync, but they have been more carefully designed and curated
  3. https://github.com/VowpalWabbit/vowpal_wabbit/tree/master/python/examples
    • Older examples but lots of goodness in here. Mix of python code and notebooks
  4. https://github.com/VowpalWabbit/vowpal_wabbit/tree/master/demo
    • Not necessarily python but is a showcase of more end to end scenarios. Really good stuff in here but it is VERY unapproachable.

The duplication between 1 and 2 is not great and I think they are already out of sync because of fixes that have come in for the website. This could potentially be resolved by using nbconvert.

nbsphinx is an excellent utility to render a notebook in the generated sphinx documentation. I think this would be a good way to consolidate and expose examples from location 3 in the generated Sphinx docs. However, this makes me think is having two separate locations really that great? Since a lot of the examples are already structured like tutorials.

Item 4. contains really useful stuff but really needs work to modernize and standardize those

My main question here is - is there some way we can reasonably combine 1, 2 and 3?

Vaani-pathariya commented 1 year ago

Hello I'm new to VW I am fullstack developer , with interest in machine learning and devops .This would be my first contribution in VW .Can I contribute to this one?