Pytorch based deep learning library focussed on providing computationally efficient low resource methods and algorithms for NLP
Project description
-------------------------------------------------------------------------------
Fluence is a Pytorch based deep learning library focussed on providing computationally efficient, low resource methods and algorithms for NLP. Although the main focus is to provide support with transformers for NLP tasks, it can be extended with other domains and architectures as well. Currently in pre-alpha stage.
List of implemented papers
Adaptive Methods
- Adaptive Attention Span in Transformers (ACL 2019)
- Adaptively Sparse Transformers (EMNLP 2019)
- Reducing Transformer Depth on Demand with Structured Dropout (ICLR 2020)
Meta Learning
Debiasing
Why Fluence ?
Fluence is targeted towards two main goals:
- Low resource / computationally efficient algorithms
- Algorithms that either enhance our understanding of current methods or show where SoTA methods fail. It is as straightforward to use as HF Transformers, and fully integrates with Pytorch.
Installing
For stable version:
pip3 install --user fluence
For development version (recommended):
git clone https://github.com/prajjwal1/fluence
cd fluence
python3 setup.py install --user
Overview
The library contains implementation for the following approaches (many more to come):
Documentation
Please head to this link to learn how you can integrate fluence with your workflow. Since it's an early release, there might be bugs here and there. Please file an issue if you encounter one.
Contribution
You can contribute by either filing an issue or sending a Pull Request (if you encounter any bug or want some features to be added). Please checkout the contributing guide for more details.
Tests
Fluence comes with an extensive test suite. Each and every module has been tested before it comes into master branch.
pytest tests/ -v
Author: Prajjwal Bhargava (@prajjwal_1)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.