Instance segmentation examples (#31084)
Initial setup
Metrics
Overfit on two batches
Train 40 epochs
Memory leak debugging
Trainer fine-tuning
Draft
Fixup
Trained end-to-end
Add requirements
Rewrite evaluator
nits
Add readme
Add instance-segmentation to the table
Support void masks
Remove sh
Update docs
Add pytorch test
Add accelerate test
Update examples/pytorch/instance-segmentation/README.md
Update examples/pytorch/instance-segmentation/run_instance_segmentation.py
Update examples/pytorch/instance-segmentation/run_instance_segmentation_no_trainer.py
Update examples/pytorch/instance-segmentation/run_instance_segmentation_no_trainer.py
Update examples/pytorch/instance-segmentation/run_instance_segmentation.py
Fix consistency oneformer
Fix imports
Fix imports sort
Apply suggestions from code review
Co-authored-by: NielsRogge 48327001+NielsRogge@users.noreply.github.com
- Update examples/pytorch/instance-segmentation/run_instance_segmentation.py
Co-authored-by: Sangbum Daniel Choi 34004152+SangbumChoi@users.noreply.github.com
Add resources to docs
Update examples/pytorch/instance-segmentation/README.md
Co-authored-by: amyeroberts 22614925+amyeroberts@users.noreply.github.com
- Update examples/pytorch/instance-segmentation/README.md
Co-authored-by: amyeroberts 22614925+amyeroberts@users.noreply.github.com
Remove explicit model_type argument
Fix tests
Update readme
Note about other models
Co-authored-by: NielsRogge 48327001+NielsRogge@users.noreply.github.com Co-authored-by: Sangbum Daniel Choi 34004152+SangbumChoi@users.noreply.github.com Co-authored-by: amyeroberts 22614925+amyeroberts@users.noreply.github.com
English | 简体中文 | 繁體中文 | 한국어 | Español | 日本語 | हिन्दी | Русский | Рortuguês | తెలుగు | Français | Deutsch | Tiếng Việt |
State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow
🤗 Transformers provides thousands of pretrained models to perform tasks on different modalities such as text, vision, and audio.
These models can be applied on:
Transformer models can also perform tasks on several modalities combined, such as table question answering, optical character recognition, information extraction from scanned documents, video classification, and visual question answering.
🤗 Transformers provides APIs to quickly download and use those pretrained models on a given text, fine-tune them on your own datasets and then share them with the community on our model hub. At the same time, each python module defining an architecture is fully standalone and can be modified to enable quick research experiments.
🤗 Transformers is backed by the three most popular deep learning libraries — Jax, PyTorch and TensorFlow — with a seamless integration between them. It’s straightforward to train your models with one before loading them for inference with the other.
Online demos
You can test most of our models directly on their pages from the model hub. We also offer private model hosting, versioning, & an inference API for public and private models.
Here are a few examples:
In Natural Language Processing:
In Computer Vision:
In Audio:
In Multimodal tasks:
100 projects using Transformers
Transformers is more than a toolkit to use pretrained models: it’s a community of projects built around it and the Hugging Face Hub. We want Transformers to enable developers, researchers, students, professors, engineers, and anyone else to build their dream projects.
In order to celebrate the 100,000 stars of transformers, we have decided to put the spotlight on the community, and we have created the awesome-transformers page which lists 100 incredible projects built in the vicinity of transformers.
If you own or use a project that you believe should be part of the list, please open a PR to add it!
If you are looking for custom support from the Hugging Face team
Quick tour
To immediately use a model on a given input (text, image, audio, …), we provide the
pipeline
API. Pipelines group together a pretrained model with the preprocessing that was used during that model’s training. Here is how to quickly use a pipeline to classify positive versus negative texts:The second line of code downloads and caches the pretrained model used by the pipeline, while the third evaluates it on the given text. Here, the answer is “positive” with a confidence of 99.97%.
Many tasks have a pre-trained
pipeline
ready to go, in NLP but also in computer vision and speech. For example, we can easily extract detected objects in an image:Here, we get a list of objects detected in the image, with a box surrounding the object and a confidence score. Here is the original image on the left, with the predictions displayed on the right:
You can learn more about the tasks supported by the
pipeline
API in this tutorial.In addition to
pipeline
, to download and use any of the pretrained models on your given task, all it takes is three lines of code. Here is the PyTorch version:And here is the equivalent code for TensorFlow:
The tokenizer is responsible for all the preprocessing the pretrained model expects and can be called directly on a single string (as in the above examples) or a list. It will output a dictionary that you can use in downstream code or simply directly pass to your model using the ** argument unpacking operator.
The model itself is a regular Pytorch
nn.Module
or a TensorFlowtf.keras.Model
(depending on your backend) which you can use as usual. This tutorial explains how to integrate such a model into a classic PyTorch or TensorFlow training loop, or how to use ourTrainer
API to quickly fine-tune on a new dataset.Why should I use transformers?
Easy-to-use state-of-the-art models:
Lower compute costs, smaller carbon footprint:
Choose the right framework for every part of a model’s lifetime:
Easily customize a model or an example to your needs:
Why shouldn’t I use transformers?
Installation
With pip
This repository is tested on Python 3.8+, Flax 0.4.1+, PyTorch 1.11+, and TensorFlow 2.6+.
You should install 🤗 Transformers in a virtual environment. If you’re unfamiliar with Python virtual environments, check out the user guide.
First, create a virtual environment with the version of Python you’re going to use and activate it.
Then, you will need to install at least one of Flax, PyTorch, or TensorFlow. Please refer to TensorFlow installation page, PyTorch installation page and/or Flax and Jax installation pages regarding the specific installation command for your platform.
When one of those backends has been installed, 🤗 Transformers can be installed using pip as follows:
If you’d like to play with the examples or need the bleeding edge of the code and can’t wait for a new release, you must install the library from source.
With conda
🤗 Transformers can be installed using conda as follows:
Follow the installation pages of Flax, PyTorch or TensorFlow to see how to install them with conda.
Model architectures
All the model checkpoints provided by 🤗 Transformers are seamlessly integrated from the huggingface.co model hub, where they are uploaded directly by users and organizations.
Current number of checkpoints:
🤗 Transformers currently provides the following architectures: see here for a high-level summary of each them.
To check if each model has an implementation in Flax, PyTorch or TensorFlow, or has an associated tokenizer backed by the 🤗 Tokenizers library, refer to this table.
These implementations have been tested on several datasets (see the example scripts) and should match the performance of the original implementations. You can find more details on performance in the Examples section of the documentation.
Learn more
Tokenizer
class to prepare data for the modelsTrainer
APICitation
We now have a paper you can cite for the 🤗 Transformers library: