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.
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
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)
@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},
}