Pipeline abstractions for deep learning.
Full documentation here: https://lf1-io.github.io/padl/
PADL:
- is a pipeline builder for PyTorch.
- may 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
Installation
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)
@transform
def prepare(x):
return torch.tensor(x)
@transform
def post(x):
return x.topk(1)[1].item()
my_pipeline = prepare >> batch >> nn.Linear(10, 20) >> unbatch >> post
Resources
- Read the documentation at https://lf1-io.github.io/padl/.
- Find examples at https://github.com/lf1-io/padl/tree/main/notebooks.
- Post issues at https://github.com/lf1-io/padl/issues.
Contributing
Code of conduct: https://github.com/lf1-io/padl/blob/main/CODE_OF_CONDUCT.md
If your interested in contributing to PADL please look at the current issues: https://github.com/lf1-io/padl/issues
Licensing
PADL is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

