Scroll Down

About Ludwig

Ludwig is a toolbox that allows to train and test deep learning models without the need to write code.


A new data type-based approach to deep learning model design that makes the tool suited for many different applications.


Experienced users have deep control over model building and training, while newcomers will find it easy to use.


Easy to add new model architecture and new feature data-types.


Deep learning models internals are often considered black boxes, but we provide standard visualizations to understand their performances and compare their predictions.


No coding skills are required to train a model and use it for obtaining predictions.


Ludwig is release under the open source Apache License 2.0.

How does it work?


Just run pip install ludwig and it will be ready to use. Some features may require further steps, read Getting Started.


Provide a dataset file, define input and output feature in a model definition YAML file and run:

ludwig train
--dataset path_to_dataset
--config definition.yaml


Provide a dataset file and use a pre-trained model to predict the output targets:

ludwig predict
--dataset path_to_dataset
--model path_to_model


Ludwig comes with many visualization options. If you want to look at the learning curves of your model for instance, run:

ludwig visualize
--visualization learning_curves
--training_statistics train_statistics.json

Ludwig Screenshots

Programmatic API

Train models and use them to predict directly from Python

from ludwig.api import LudwigModel

# train a model
config = {...}
model = LudwigModel(config)
train_stats = model.train(training_data)
# or load a model
model = LudwigModel.load(model_path)

# obtain predictions
predictions = model.predict(test_data)

Cite Ludwig

  author = {Piero Molino and Yaroslav Dudin and Sai Sumanth Miryala},
  title = {Ludwig: a type-based declarative deep learning toolbox},
  year = {2019},
  eprint = {arXiv:1909.07930},