Pipeline Abstractions for Deep Learning


  • is a pipeline builder for PyTorch.

  • can be used with all of the great PyTorch functionality you’re used to for writing layers.

  • allows users to build pre-processing, forward passes, loss functions and post-processing into the pipeline.

  • models may have arbitrary topologies and make use of arbitrary packages from the python ecosystem.

  • allows for converting standard functions to PADL components using a single keyword transform.

PADL was developed at LF1, an AI innovation lab based in Berlin, Germany.

Getting Started


pip install padl

PADL currently supports python 3.7, 3.8 and 3.9.

Python version >= 3.8 is preferred because creating and loading transforms (not execution) can be slower in 3.7.

Your first PADL program

from padl import transform, batch, unbatch
import torch
from torch import nn
nn = transform(nn)

def prepare(x):
    return torch.tensor(x)

def post(x):
    return x.topk(1)[1].item()

my_pipeline = prepare >> batch >> nn.Linear(10, 20) >> unbatch >> post

Try out PADL in Colab notebooks

  1. MNIST

  2. Simple NLP example

  3. Sentiment Analysis - NLP



Code of conduct:

If your interested in contributing to PADL please look at the current issues:


PADL is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.