All Projects â†’ georgepar â†’ slp

georgepar / slp

Licence: MIT License
Utils and modules for Speech Language and Multimodal processing using pytorch and pytorch lightning

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to slp

MSAF
Offical implementation of paper "MSAF: Multimodal Split Attention Fusion"
Stars: ✭ 47 (+176.47%)
Mutual labels:  multimodal-learning, multimodal-deep-learning
pykale
Knowledge-Aware machine LEarning (KALE): accessible machine learning from multiple sources for interdisciplinary research, part of the 🔥PyTorch ecosystem
Stars: ✭ 381 (+2141.18%)
Mutual labels:  multimodal-learning, multimodal
lightning-hydra-template
PyTorch Lightning + Hydra. A very user-friendly template for rapid and reproducible ML experimentation with best practices. ⚡🔥⚡
Stars: ✭ 1,905 (+11105.88%)
Mutual labels:  pytorch-lightning, wandb
hififace
Unofficial PyTorch Implementation for HifiFace (https://arxiv.org/abs/2106.09965)
Stars: ✭ 227 (+1235.29%)
Mutual labels:  pytorch-lightning, wandb
iMIX
A framework for Multimodal Intelligence research from Inspur HSSLAB.
Stars: ✭ 21 (+23.53%)
Mutual labels:  multimodal, multimodal-deep-learning
muscaps
Source code for "MusCaps: Generating Captions for Music Audio" (IJCNN 2021)
Stars: ✭ 39 (+129.41%)
Mutual labels:  multimodal-deep-learning
docarray
The data structure for unstructured data
Stars: ✭ 561 (+3200%)
Mutual labels:  multimodal
DOLG-pytorch
Unofficial PyTorch Implementation of "DOLG: Single-Stage Image Retrieval with Deep Orthogonal Fusion of Local and Global Features"
Stars: ✭ 69 (+305.88%)
Mutual labels:  pytorch-lightning
just-ask
[TPAMI Special Issue on ICCV 2021 Best Papers, Oral] Just Ask: Learning to Answer Questions from Millions of Narrated Videos
Stars: ✭ 57 (+235.29%)
Mutual labels:  multimodal-learning
covid-mask-detector
Detect whether a person is wearing a mask or not
Stars: ✭ 102 (+500%)
Mutual labels:  pytorch-lightning
disent
🧶 Modular VAE disentanglement framework for python built with PyTorch Lightning ▸ Including metrics and datasets ▸ With strongly supervised, weakly supervised and unsupervised methods ▸ Easily configured and run with Hydra config ▸ Inspired by disentanglement_lib
Stars: ✭ 41 (+141.18%)
Mutual labels:  pytorch-lightning
Reproducibilty-Challenge-ECANET
Unofficial Implementation of ECANets (CVPR 2020) for the Reproducibility Challenge 2020.
Stars: ✭ 27 (+58.82%)
Mutual labels:  wandb
classy
classy is a simple-to-use library for building high-performance Machine Learning models in NLP.
Stars: ✭ 61 (+258.82%)
Mutual labels:  pytorch-lightning
NER-Multimodal-pytorch
Pytorch Implementation of "Adaptive Co-attention Network for Named Entity Recognition in Tweets" (AAAI 2018)
Stars: ✭ 42 (+147.06%)
Mutual labels:  multimodal
awesome-multimodal-ml
Reading list for research topics in multimodal machine learning
Stars: ✭ 3,125 (+18282.35%)
Mutual labels:  multimodal-learning
MVGL
TCyb 2018: Graph learning for multiview clustering
Stars: ✭ 26 (+52.94%)
Mutual labels:  multimodal
CoVA-Web-Object-Detection
A Context-aware Visual Attention-based training pipeline for Object Detection from a Webpage screenshot!
Stars: ✭ 18 (+5.88%)
Mutual labels:  multimodal-learning
Diverse-Structure-Inpainting
CVPR 2021: "Generating Diverse Structure for Image Inpainting With Hierarchical VQ-VAE"
Stars: ✭ 131 (+670.59%)
Mutual labels:  multimodal
ride
Training wheels, side rails, and helicopter parent for your Deep Learning projects in Pytorch
Stars: ✭ 18 (+5.88%)
Mutual labels:  pytorch-lightning
pytorch tempest
My repo for training neural nets using pytorch-lightning and hydra
Stars: ✭ 124 (+629.41%)
Mutual labels:  pytorch-lightning

slp

Python Version

slp is a framework for fast and reproducible development of multimodal models, with emphasis on NLP models.

It started as a collection of scripts and code I wrote / collected during my PhD and it evolves accordingly.

As such, the framework is opinionated and it follows a convention over configuration approach.

A heavy emphasis is put on:

  • Enforcing best practices and reproducibility of experiments
  • Making common things fast at the top-level and not having to go through extensive configuration options
  • Remaining extendable. Extensions and modules for more use cases should be easy to add
  • Out of the box extensive logging and experiment management
  • Separating dirty / scratch code (at the script level) for quick changes and clean / polished code at the library level

This is currently in alpha release under active development, so things may break and new features will be added.

Dependencies

We use Pytorch (1.7) and the following libraries

Installation

You can use slp as an external library by installing from PyPI with

pip install slp

Or you can clone it from github

git clone [email protected]:georgepar/slp

We use poetry for dependency management

When you clone the repo run:

pip install poetry
poetry install

and a clean environment with all the dependencies will be created. You can access it with poetry shell.

Note: Wandb logging is enabled by default. You can either

  • Create an account and run wandb login when you clone the repo in a new machine to store the results in the online managed environment
  • Run wandb offline when you clone the repo to disable remote sync or use the --offline command line argument in your scripts
  • Use one of their self-hosted solutions

Create a new project based on slp

You can use the template at https://github.com/georgepar/cookiecutter-pytorch-slp to create a new project based on slp

pip install cookiecutter poetry
cookiecutter gh:georgepar/cookiecutter-pytorch-slp
# Follow the interactive configuration and a new folder with the project name you provided will appear
cd $PROJECT_NAME
poetry install  # Installs slp and all other dependencies

And you are good to go. Follow the instructions in the README of the new project you created. Happy coding

Contributing

You are welcome to open issues / PRs with improvements and bug fixes.

Since this is mostly a personal project based around workflows and practices that work for me, I don't guarantee I will accept every change, but I'm always open to discussion.

If you are going to contribute, please use the pre-commit hooks under hooks, otherwise the PR will not go through the CI. And never, ever touch requirements.txt by hand, it will automatically be exported from poetry

cat <<EOT >> .git/hooks/pre-commit
#!/usr/bin/env bash

bash hooks/export-requirements-txt
bash hooks/checks
EOT

chmod +x .git/hooks/pre-commit  # Keep an up-to-date requirements.txt and run Linting, typechecking and tests

ln -s $(pwd)/hooks/commit-msg .git/hooks/commit-msg  # Sign-off your commit

Cite

If you use this code for your research, please include the following citation

@ONLINE {,
    author = "Georgios Paraskevopoulos",
    title  = "slp",
    year   = "2020",
    url    = "https://github.com/georgepar/slp"
}

Roadmap

  • Optuna integration for hyperparameter tuning
  • Add dataloaders for popular multimodal datasets
  • Add multimodal architectures
  • Add RIM, DNC and Kanerva machine implementations
  • Write unit tests
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].