Model-, taskmodule-, and metric-implementations as well as document processing utilities for PyTorch-IE.
Available models:
- SimpleSequenceClassificationModel
- SequenceClassificationModelWithPooler
- SequencePairSimilarityModelWithPooler
- SimpleTokenClassificationModel
- TokenClassificationModelWithSeq2SeqEncoderAndCrf
- SimpleExtractiveQuestionAnsweringModel
- SimpleGenerativeModel
- SpanTupleClassificationModel
Available taskmodules:
- RETextClassificationWithIndicesTaskModule
- CrossTextBinaryCorefTaskModule
- LabeledSpanExtractionByTokenClassificationTaskModule
- ExtractiveQuestionAnsweringTaskModule
- TextToTextTaskModule
- PointerNetworkTaskModuleForEnd2EndRE
- RESpanPairClassificationTaskModule
Available metrics:
Document processing utilities:
- MultiSpanMerger
- SpansViaRelationMerger
- RegexPartitioner
- RelationArgumentSorter
- SentenceSplitter
- TextSpanTrimmer
- tokenize_document
pip install pie-modules
To install the latest version from GitHub:
pip install git+https://[email protected]/ArneBinder/pie-modules.git
- This project is build with Poetry. See here for installation instructions.
- Get the code and switch into the project directory:
git clone https://github.com/ArneBinder/pie-modules cd pie-modules
- Create a virtual environment and install the dependencies:
poetry install
Finally, to run any of the below commands, you need to activate the virtual environment:
poetry shell
Note: You can also run commands in the virtual environment without activating it first: poetry run <command>
.
pre-commit run -a
run all tests with coverage:
pytest --cov --cov-report term-missing
- Create the release branch:
git switch --create release main
- Increase the version:
poetry version <PATCH|MINOR|MAJOR>
, e.g.poetry version patch
for a patch release. If the release contains new features, or breaking changes, bump the minor version (this project has no main release yet). If the release contains only bugfixes, bump the patch version. See Semantic Versioning for more information. - Commit the changes:
git commit --message="release <NEW VERSION>" pyproject.toml
, e.g.git commit --message="release 0.13.0" pyproject.toml
- Push the changes to GitHub:
git push origin release
- Create a PR for that
release
branch on GitHub. - Wait until checks passed successfully.
- Merge the PR into the main branch. This triggers the GitHub Action that creates all relevant release artefacts and also uploads them to PyPI.
- Cleanup: Delete the
release
branch. This is important, because otherwise the next release will fail.