deeplay

Deeplay is a deep learning library in Python that extends PyTorch with additional functionalities focused on modularity and reusability.

https://github.com/deeptrackai/deeplay

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.4%) to scientific vocabulary

Keywords

deep-learning pytorch
Last synced: 6 months ago · JSON representation ·

Repository

Deeplay is a deep learning library in Python that extends PyTorch with additional functionalities focused on modularity and reusability.

Basic Info
Statistics
  • Stars: 13
  • Watchers: 4
  • Forks: 12
  • Open Issues: 13
  • Releases: 6
Topics
deep-learning pytorch
Created almost 3 years ago · Last pushed 10 months ago
Metadata Files
Readme Citation

README.md

Deeplay is a deep learning library in Python that extends PyTorch with additional functionalities focused on modularity and reusability. Deeplay seeks to address the common issue of rigid and non-reusable modules in PyTorch projects by offering a system that allows for easy customization and optimization of neural network components. Specifically, it facilitates the definition, training, and adjustment of neural networks by introducing dynamic modification capabilities for model components after their initial creation.

Core Philosophy

The core philosophy of Deeplay is to enhance flexibility in the construction and adaptation of neural networks. It is built on the observation that PyTorch modules often lack reusability across projects, leading to redundant implementations. Deeplay enables properties of neural network submodules to be changed post-creation, supporting seamless integration of these modifications. Its design is based on a hierarchy of abstractions from models down to layers, emphasizing compatibility and easy transformation of components. This can be summarized as follows:

  • Enhance Flexibility: Neural networks defined using Deeplay should be fully adaptable by the user, allowing dynamic modifications to model components. This should be possible without the author of the model having to anticipate all potential changes in advance.
  • Promote Reusability: Deeplay components should be immediately reusable across different projects and models. This reusability should extend to both the components themselves and the modifications made to them.
  • Support Seamless Integration: Modifications to model blocks and components should be possible without the user worrying about breaking the model's compatibility with other parts of the network. Deeplay should handle these integrations automatically as far as possible.
  • Hierarchy of Abstractions: Neural networks and deep learning are fundamentally hierarchical, with each level of abstraction being mostly agnostic to the details of the levels below it. An application should be agnostic to which model it uses, a model should be agnostic to the specifics of the components it uses, a component should be agnostic to the specifics of the blocks it uses, and a block should be agnostic to the specifics of the layers it uses . Deeplay reflects this hierarchy in its design.

Deeplay Compared to Torch

Deeplay is designed as a superset of PyTorch, retaining compatibility with PyTorch code while introducing features aimed at improving modularity and customization. Unlike PyTorch's fixed module implementations, Deeplay provides a framework that supports dynamic adjustments to model architectures. This includes capabilities for on-the-fly property changes and a style registry for component customization. Users can easily transition between PyTorch and Deeplay, taking advantage of Deeplay's additional features without losing the familiarity and functionality of PyTorch.

Deeplay Compared to Lightning

While Deeplay utilizes PyTorch Lightning for simplifying the training loop process, it goes further by offering enhanced modularity for the architectural design of models. PyTorch Lightning focuses on streamlining and optimizing training operations, whereas Deeplay extends this convenience to the model construction phase. This integration offers users a comprehensive toolset for both designing flexible neural network architectures and efficiently managing their training, positioning Deeplay as a solution for more adaptive and intuitive neural network development.

Quick Start Guide

The following quick start guide is intended for complete beginners to understand how to use Deeplay, from installation to training your first model. Let's get started!

Installation

You can install Deeplay using pip: bash pip install deeplay or bash python -m pip install deeplay This will automatically install the required dependencies, including PyTorch and PyTorch Lightning. If a specific version of PyTorch is desired, it can be installed separately.

Getting Started

Here you find a series of notebooks that give you an overview of the core features of Deeplay and how to use them:

Layers, Blocks, Components, Models, Applications.

Creating, training, saving and using a deep learning model with Deeplay.

Differences between Deeplay and PyTorch modules. How to create, build, and configure Deeplay modules.

Application.fit(), Application.test(), DeeplayModule.predict(), Trainer.fit().

Main Deeplay applications. Controlling loss functions, optimizers, and metrics. Training history. Callback.

Main Deeplay models. Making a model. Weight initialization.

Main Deeplay components.

Main Deeplay blocks. Adding, ordering, and removing layers. Operations.

DeeplayModule.configure() and selectors.

Styles.

Examples

Advanced Topics

Developer Tutorials

Here you find a series of notebooks tailored for Deeplay's developers:

Documentation

The detailed documentation of Deeplay is available at the following link: https://deeptrackai.github.io/deeplay

Funding

This work was supported by the ERC Starting Grant ComplexSwimmers (Grant No. 677511), the ERC Starting Grant MAPEI (101001267), and the Knut and Alice Wallenberg Foundation.

Owner

  • Name: DeepTrackAI
  • Login: DeepTrackAI
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Deeplay
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Benjamin
    family-names: Midtvedt
    orcid: 'https://orcid.org/0000-0001-9386-4753'
  - given-names: Jesus
    family-names: Pineda
    orcid: 'https://orcid.org/0000-0002-9197-3451'
  - given-names: Henrik
    family-names: Klein Morberg
    orcid: 'https://orcid.org/0000-0001-7275-6921'
  - given-names: Harshith
    family-names: Bachimanchi
    orcid: 'https://orcid.org/0000-0001-9497-8410'
  - given-names: Mirja
    family-names: Granfors
  - given-names: Alex
    family-names: Lech
  - given-names: Carlo
    family-names: Manzo
    orcid: 'https://orcid.org/0000-0002-8625-0996'
  - given-names: Giovanni
    family-names: Volpe
    orcid: 'https://orcid.org/0000-0001-5057-1846'
repository-code: 'https://github.com/DeepTrackAI/deeplay'
abstract: >-
  Deeplay is a deep learning library in Python that extends
  PyTorch with additional functionalities focused on
  modularity and reusability. 

GitHub Events

Total
  • Create event: 20
  • Release event: 7
  • Issues event: 6
  • Watch event: 9
  • Delete event: 13
  • Member event: 1
  • Issue comment event: 11
  • Push event: 116
  • Pull request review event: 3
  • Pull request event: 30
  • Fork event: 8
Last Year
  • Create event: 20
  • Release event: 7
  • Issues event: 6
  • Watch event: 9
  • Delete event: 13
  • Member event: 1
  • Issue comment event: 11
  • Push event: 116
  • Pull request review event: 3
  • Pull request event: 30
  • Fork event: 8

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 23
  • Total pull requests: 122
  • Average time to close issues: 25 days
  • Average time to close pull requests: 9 days
  • Total issue authors: 9
  • Total pull request authors: 9
  • Average comments per issue: 2.26
  • Average comments per pull request: 1.27
  • Merged pull requests: 107
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 7
  • Pull requests: 23
  • Average time to close issues: 5 days
  • Average time to close pull requests: 8 days
  • Issue authors: 4
  • Pull request authors: 7
  • Average comments per issue: 0.29
  • Average comments per pull request: 0.35
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • JesusPinedaC (7)
  • BenjaminMidtvedt (6)
  • giovannivolpe (3)
  • Henrik-KM (2)
  • Pwhsky (2)
  • Yuchao-ho (1)
  • naiikaa (1)
  • cmanzo (1)
  • HarshithBachimanchi (1)
Pull Request Authors
  • BenjaminMidtvedt (100)
  • JesusPinedaC (35)
  • giovannivolpe (18)
  • HarshithBachimanchi (10)
  • cmanzo (9)
  • Henrik-KM (6)
  • mirjagranfors (6)
  • Pwhsky (6)
  • aarondomenzain (1)
Top Labels
Issue Labels
enhancement (2) bug (1)
Pull Request Labels
enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 3,254 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 9
  • Total maintainers: 2
pypi.org: deeplay

An AI-powered platform for advancing deep learning research and applications, developed by DeepTrackAI.

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,254 Last month
Rankings
Dependent packages count: 7.4%
Average: 38.1%
Dependent repos count: 68.9%
Last synced: 6 months ago

Dependencies

setup.py pypi
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
requirements.txt pypi
  • lightning *
  • torchmetrics *
  • torchvision *
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite