Issue with `Speech2TextFeatureExtractor` method `from_pretrained` and `from_dict`
Author: philschmid
Pull request: no

## Environment info

- `transformers` version: `master`
- Platform: ubuntu
- Python version: Python 3.7.11 (default, Jul  3 2021, 18:01:19) 
- PyTorch version (GPU?): 1.9.0+cu102
- Tensorflow version (GPU?): -
- Using GPU in script?: -
- Using distributed or parallel set-up in script?: -

There is an issue when trying to load the `Speech2TextFeatureExtractor` from a local path. 

**How to reproduce** 

```python
!git lfs install
!git clone https://huggingface.co/facebook/s2t-small-mustc-en-fr-st
from transformers import AutoFeatureExtractor

extractor = AutoFeatureExtractor.from_pretrained("s2t-small-mustc-en-fr-st")
```

 producing

```python
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-6-c149f0c996ea> in <module>()
      3 from transformers import AutoFeatureExtractor
      4 
----> 5 extractor = AutoFeatureExtractor.from_pretrained("s2t-small-mustc-en-fr-st")

/usr/local/lib/python3.7/dist-packages/transformers/models/auto/feature_extraction_auto.py in from_pretrained(cls, pretrained_model_name_or_path, **kwargs)
    158 
    159         if model_type is not None:
--> 160             return FEATURE_EXTRACTOR_MAPPING[type(config)].from_dict(config_dict, **kwargs)
    161         elif "feature_extractor_type" in config_dict:
    162             feature_extractor_class = feature_extractor_class_from_name(config_dict["feature_extractor_type"])

AttributeError: type object 'Speech2TextFeatureExtractor' has no attribute 'from_dict'
````

also the `Speech2TextFeatureExtractor` doesn't work
```python
!git lfs install
!git clone https://huggingface.co/facebook/s2t-small-mustc-en-fr-st
from transformers import Speech2TextFeatureExtractor

extractor = Speech2TextFeatureExtractor.from_pretrained("s2t-small-mustc-en-fr-st")
```

producing

```python
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-7-c87c386101dd> in <module>()
      3 from transformers import Speech2TextFeatureExtractor
      4 
----> 5 extractor = Speech2TextFeatureExtractor.from_pretrained("s2t-small-mustc-en-fr-st")

AttributeError: type object 'Speech2TextFeatureExtractor' has no attribute 'from_pretrained'
```



Comments:
@philschmid, I think you are missing some dependencies which is why `Speech2TextFeatureExtractor` refers to the dummy object, defined here: https://github.com/huggingface/transformers/blob/1fec32adc6a4840123d5ec5ff5cf419c02342b5a/src/transformers/utils/dummy_speech_objects.py#L5

which doesn't have a `from_pretrained(...)` method.

Can you try install `transformers` with `pip install -e ".[speech]"` ? That should fix the error

Some `torchaudio` dependency is missing I think: https://github.com/huggingface/transformers/blob/1fec32adc6a4840123d5ec5ff5cf419c02342b5a/src/transformers/models/speech_to_text/feature_extraction_speech_to_text.py#L23

@LysandreJik @sgugger - I think those kinds of errors have shown up for often already...would it make sense to add a `.from_pretrained(....)` method to all dummy objects that give a better error message?

<del>Maybe just add nice error messages to `.from_pretrained(....)` and `.__init__(...)`</del> `__init__` already has it - just `from_pretrained(...)` then I think would be nice

The suggestion from @patrickvonplaten solved it, should we close it for now? 

Just for posterity: @patrickvonplaten and I agreed that `Speech2Text` could be refactored to use `requires_backends("speech")` similarly to DETR and [TAPAS](https://github.com/huggingface/transformers/blob/ab7551cd7ff84cb5b7328bc37a06e06fa19f02bb/src/transformers/models/tapas/modeling_tapas.py#L803) to provide a user-friendly error on model loading.