Uber has unveiled Ludwig, a new TensorFlow-based toolkit that enables users to train and test deep learning models without writing any code. The toolkit will help non-experts understand models and accelerate their iterative development by simplifying the prototyping process and data processing.

Ludwig’s design highlights include:

No coding required: no coding skills are required to train a model and use it for obtaining predictions. Generality: a new data type-based approach to deep learning model design that makes the tool usable across many different use cases. Flexibility: experienced users have extensive control over model building and training, while newcomers will find it easy to use. Extensibility: easy to add new model architecture and new feature data types. Understandability: deep learning model internals are often considered black boxes, but we provide standard visualizations to understand their performance and compare their predictions.

Uber researchers say the kit’s simplified configuration file can reduce typical coding time spent training deep learning models from several hours to a few minutes. The tabular file contains the data along with a YAML configuration file that specifies inputs and outputs. Ludwig can also be multi-tasked to simultaneously predict all outputs in cases when there is more than one output target.

Ludwig provides a simple programmatic API and includes additional model evaluation tools for comparing performance and predictions. When paired with Uber’s open-source distributed training framework Horovod, Ludwig achieves faster and more effective model iterations. Uber researchers boast that “there’s no other solution currently available with similar ease of use and flexibility.”

It’s expected that in future versions, new encoders will be added for different data types (e.g. Transformer, ELMo, DenseNet and BERT for text.), and new data types will be added to generate extended solution for managing big datasets.

Uber has released a Ludwig developer guide showcasing the simple instructions for adding additional data types, encoders and decoders.

Click the link to view Ludwig on Uber engineering blog and GitHub.