-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Examples and Demos
JohnLangford edited this page Feb 1, 2026
·
2 revisions
Vowpal Wabbit includes example code and demos in several locations across the repository and in companion repos. This page provides an index of all known example locations.
| Location | Description |
|---|---|
| VW Jupyter Notebooks | Standalone Jupyter notebooks covering contextual bandits, classification, Slates, and CATS. Can be run via Binder. |
| VW Website Tutorials (source) | Curated tutorials on the official website: getting started, CB simulation, off-policy evaluation, Slates, Python first steps, and more. |
Command-Line Demos (demo/)
| Directory | Description |
|---|---|
cmd_getting_started/ |
Interactive Jupyter notebook introduction to VW |
| Directory | Description |
|---|---|
dbpedia/ |
Multi-class classification on DBpedia ontology categories |
mnist/ |
Handwritten digit recognition with various neural network configurations |
ocr/ |
Optical character recognition |
| Directory | Description |
|---|---|
cats/ |
Contextual bandits with continuous actions (CATS) |
advertising/ |
Ad serving simulation |
| Directory | Description |
|---|---|
entityrelation/ |
Entity-relation extraction using the Search subsystem |
dependencyparsing/ |
Dependency parser using the Search subsystem |
| Directory | Description |
|---|---|
memory_tree/ |
Memory tree reduction for nearest-neighbor classification |
recall_tree/ |
Logarithmic-time multiclass prediction with recall trees |
plt/ |
Probabilistic Label Trees for extreme multi-label classification |
| Directory | Description |
|---|---|
movielens/ |
Low-rank collaborative filtering on the MovieLens dataset |
| Directory | Description |
|---|---|
dna/ |
Splice-site recognition with neural networks and parallel training |
normalized/ |
Comparison of normalized vs. unnormalized learning rules across datasets |
random-noise/ |
Signal separation from noise |
| Directory | Description |
|---|---|
performance/ |
Performance measurement and benchmarking |
Python Tutorials (python/docs/source/tutorials/)
| File | Description |
|---|---|
cmd_first_steps.md |
First steps with VW from the command line |
cmd_linear_regression.md |
Linear regression walkthrough |
cmd_csv_with_iris_dataset.md |
CSV input with the Iris dataset |
off_policy_evaluation.md |
Off-policy evaluation for contextual bandits |
Python Notebook Examples (python/docs/source/examples/)
Jupyter notebooks covering contextual bandits, classification, the Search subsystem, and the Python API.
| Location | Description |
|---|---|
c_test/sample.c |
C API usage example |
java/ |
Java bindings with examples |
cs/examples/simulator/ |
C# contextual bandit simulator |
The wiki also has several worked examples:
- Logged Contextual Bandit example
- One Against All (oaa) multi class example
- Weighted All Pairs (wap) multi class example
- Cost Sensitive One Against All (csoaa) multi class example
- Multiclass classification
- Error Correcting Tournament (ect) multi class example
- Malicious URL example
- Daemon example
- Matrix factorization example
- Rcv1 example
- Truncated gradient descent example
- Home
- First Steps
- Input
- Command line arguments
- Model saving and loading
- Controlling VW's output
- Audit
- Algorithm details
- Awesome Vowpal Wabbit
- Learning algorithm
- Learning to Search subsystem
- Loss functions
- What is a learner?
- Docker image
- Model merging
- Evaluation of exploration algorithms
- Reductions
- Contextual Bandit algorithms
- Contextual Bandit Exploration with SquareCB
- Contextual Bandit Zeroth Order Optimization
- Conditional Contextual Bandit
- Slates
- CATS, CATS-pdf for Continuous Actions
- Automl
- Epsilon Decay
- CBify: Supervised to Contextual Bandit
- Warm starting contextual bandits
- Efficient Second Order Online Learning
- Latent Dirichlet Allocation
- VW Reductions Workflows
- Interaction Grounded Learning
- CB with Large Action Spaces
- CB with Graph Feedback
- FreeGrad
- Marginal
- Active Learning
- Eigen Memory Trees (EMT)
- Element-wise interaction
- Bindings
-
Examples and Demos
- Examples
- Logged Contextual Bandit example
- One Against All (oaa) multi class example
- Weighted All Pairs (wap) multi class example
- Cost Sensitive One Against All (csoaa) multi class example
- Multiclass classification
- Error Correcting Tournament (ect) multi class example
- Malicious URL example
- Daemon example
- Matrix factorization example
- Rcv1 example
- Truncated gradient descent example
- Scripts
- Implement your own joint prediction model
- Predicting probabilities
- murmur2 vs murmur3
- Weight vector
- Matching Label and Prediction Types Between Reductions
- Zhen's Presentation Slides on enhancements to vw
- EZExample Archive
- Design Documents
- Contribute: