Enable `image-segmentation` on `AutoModelForSemanticSegmentation` (#15647)
* Enabling Beit SegFormer to `image-segmentation`.
* Fixing the score.
* Fix import ?
* Missing in type hint.
* Multiple test fixes:
- Add `raw_image` support. It should be the default IMHO since in Python
world it doesn't make any sense to base64 encode the image (Sorry
@mishig, didn't catch that in my review). I really think we should
consider breaking BC here.
- Add support for Segformer tiny test (needed
`SegformerModelTester.get_config` to enable TinyConfig
@NielsRogge)
- Add the check that `batch_size` works correctly on that pipeline.
Uncovered that it doesn't for Detr, which IMO is OK since images
after `feature_extractor` don't have the same size. Comment should
explain.
* Type hint as a string.
* Make fixup + update black.
* torch+vision protections.
* Don't use torchvision, use F.interpolate instead (no new dep).
* Last fixes for Segformer.
* Update test to reflect new image (which was broken)
* Update tests.
* Major BC modification:
- Removed the string compressed PNG string, that's a job for users
`transformers` stays in python land.
- Removed the `score` for semantic segmentation. It has hardly a meaning
on its own in this context.
- Don't include the grayscale with logits for now (which could enable
users to get a sense of confidence). Might be done later.
- Don't include the surface of the mask (could be used for sorting by
users, to filter out small masks). It's already calculable, and
it's easier to add later, than to add now and break later if we need.
* `make fixup`.
* Small changes.
* Rebase + doc fixup.