Add DPT-hybrid
### Model description

DPT-hybrid is used in Stable Diffusion 2.0's depth model and is also a nice depth estimation model in general.

We already support [DPT](https://huggingface.co/docs/transformers/model_doc/dpt) - which is also the default model of our [depth estimation pipeline](https://huggingface.co/docs/transformers/main/en/main_classes/pipelines#transformers.DepthEstimationPipeline), but not DPT-hybrid. The latter uses ViT-hybrid as backbone.

Hence, we first would need to add ViT-hybrid to the library. This model is very similar to a regular ViT, except that instead of patchifying an image and embedding each patch, this model uses a pre-trained ResNetv2 to embed the image before feeding the features to a Transformer encoder. 

This means that we first need to add ResNetv2 to the library. 😅 however that seems fairly doable, I'd recommend porting the one from timm: https://github.com/rwightman/pytorch-image-models/blob/main/timm/models/resnetv2.py.

### Open source status

- [X] The model implementation is available
- [X] The model weights are available

### Provide useful links for the implementation

DPT-hybrid is available here: https://github.com/isl-org/MiDaS
Hi @NielsRogge Can I take this up if no one is working on it?<|||||>This would be great @nandwalritik ! The Stable Diffusion Depth estimation model depends on it, so we'd definitely help you in whatever way we can :-) <|||||>@NielsRogge should we port the ResNetv2 exactly like ResNetv1: https://github.com/huggingface/transformers/blob/main/src/transformers/models/resnet/modeling_resnet.py or could we directly port it from `timm`?<|||||>Could you provide some more links on how to add ViT-Hybrid?<|||||>@patrickvonplaten yes we can add ResNetv2 in the same way as we added Resnet V1. Meaning, a separate standalone model in the library.

Once we have that, we have everything we need to define modeling_dpt_hybrid.py. This would be a copy of modeling_dpt.py, except that we leverage ResNetv2 (we can do that using the new AutoBackbone API which was just added) in the DPTViTEmbeddings class. 

For stable diffusion there's no need to add hybrid ViT as a standalone model now (i.e. we can add modeling_hybrid_vit.py another time).<|||||>@NielsRogge @patrickvonplaten Can you let me know the next steps, what should I add first?
ResNetv2 ->  DPT-hybrid, leaving ViT-hybrid as Niels mentioned above, will this be the order?<|||||>@nandwalritik yes, let's start by adding ResNetv2, based on timm's implementation found here: https://github.com/rwightman/pytorch-image-models/blob/main/timm/models/resnetv2.py.

Next, we can add DPT-hybrid, based on the modeling files here: https://github.com/isl-org/DPT/tree/main/dpt

This can be done in 2 separate PR's<|||||>Ok I Will start with ResNetv2 and then I will try adding DPT-hybrid.<|||||>Should I use `add-new-model` or `add-new-model-like` command as we already have ResNet implementation in huggingface ?<|||||>You can use `add-new-model-like` and start from `resnet` (we might deprecate `add-new-model`)