Scroll Down

About Ludwig

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

General

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

Flexible

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

Extensible

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

Understandable

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

Easy

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

Open

Ludwig is release under the open source Apache License 2.0.

How does it work?

Install

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

Train

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

Predict

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

Visualize

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

@misc{Molino2019,
  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},
}