Home

Awesome

<img src="https://img.shields.io/badge/chat-slack%20channel-75BBC4.svg"> PyPI version Build Status Documentation Status codecov DOI

logo

delira - A Backend Agnostic High Level Deep Learning Library

Authors: Justus Schock, Michael Baumgartner, Oliver Rippel, Christoph Haarburger

Copyright (C) 2020 by RWTH Aachen University
http://www.rwth-aachen.de

License:
This software is dual-licensed under:
• Commercial license (please contact: lfb@lfb.rwth-aachen.de)
• AGPL (GNU Affero General Public License) open source license

Introduction

delira is designed to work as a backend agnostic high level deep learning library. You can choose among several computation backends. It allows you to compare different models written for different backends without rewriting them.

For this case, delira couples the entire training and prediction logic in backend-agnostic modules to achieve identical behavior for training in all backends.

delira is designed in a very modular way so that almost everything is easily exchangeable or customizable.

A (non-comprehensive) list of the features included in delira:

What about the name?

delira started as a library to enable deep learning research and fast prototyping in medical imaging (especially in radiology). That's also where the name comes from: delira was an acronym for DEep Learning In RAdiology*. To adapt many other use cases we changed the framework's focus quite a bit, although we are still having many medical-related utilities and are working on constantly factoring them out.

Installation

Choose Backend

You may choose a backend from the list below. If your desired backend is not listed and you want to add it, please open an issue (it should not be hard at all) and we will guide you during the process of doing so.

BackendBinary InstallationSource InstallationNotes
Nonepip install delirapip install git+https://github.com/delira-dev/delira.gitTraining not possible if backend is not installed separately
torchpip install delira[torch]git clone https://github.com/delira-dev/delira.git && cd delira && pip install .[torch]delira with torch backend supports mixed-precision training via NVIDIA/apex (must be installed separately).
torchscriptpip install delira[torchscript]git clone https://github.com/delira-dev/delira.git && cd delira && pip install .[torchscript]The torchscript backend currently supports only single-GPU-training
tensorflow eagerpip install delira[tensorflow]git clone https://github.com/delira-dev/delira.git && cd delira && pip install .[tensorflow]the tensorflow backend is still very experimental and lacks some features
tensorflow graphpip install delira[tensorflow]git clone https://github.com/delira-dev/delira.git && cd delira && pip install .[tensorflow]the tensorflow backend is still very experimental and lacks some features
scikit-learnpip install delirapip install git+https://github.com/delira-dev/delira.git/
chainerpip install delira[chainer]git clone https://github.com/delira-dev/delira.git && cd delira && pip install .[chainer]/
Fullpip install delira[full]git clone https://github.com/delira-dev/delira.git && cd delira && pip install .[full]All backends will be installed.

Docker

The easiest way to use delira is via docker (with the nvidia-runtime for GPU-support) and using the Dockerfile or the prebuild-images.

Chat

We have a community chat on slack. If you need an invitation, just follow this link.

Getting Started

The best way to learn how to use is to have a look at the tutorial notebook. Example implementations for classification problems, segmentation approaches and GANs are also provided in the notebooks folder.

Documentation

The docs are hosted on ReadTheDocs/Delira. The documentation of the latest master branch can always be found at the project's github page.

Contributing

If you find a bug or have an idea for an improvement, please have a look at our contribution guideline.