Adding Unpack Decorator For DPR model
Author: forsc
Pull request: yes

## What does this PR do?

Unpacks  TF model inputs through a decorator, Sepcfically for  DPR. In response to #16051 

## Before submitting
* [ ]  This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
* [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/master/CONTRIBUTING.md#start-contributing-pull-requests) 
* [x] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? - #16051
* [ ] Did you make sure to update the documentation with your changes?
* [ ] Did you write any new necessary tests?

## Review 
@gante 

##
I will post the test and make fix result below

Also please let me know if i have done anything wrong. It is my first commit on a codebase this huge :)







Comments:
` ========================================================================================== test session starts ==========================================================================================platform linux -- Python 3.8.10, pytest-7.1.0, pluggy-1.0.0 -- /usr/bin/python3
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/mnt/d/transformer/transformers-1/.hypothesis/examples')
rootdir: /mnt/d/transformer/transformers-1, configfile: setup.cfg
plugins: forked-1.4.0, hypothesis-6.39.3, timeout-2.1.0, xdist-2.5.0, dash-2.3.0, xonsh-0.9.13
collected 33 items

tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_attention_outputs <- tests/test_modeling_tf_common.py PASSED                                                                              [  3%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_compile_tf_model <- tests/test_modeling_tf_common.py PASSED                                                                               [  6%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_config PASSED                                                                                                                             [  9%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_determinism <- tests/test_modeling_tf_common.py PASSED                                                                                    [ 12%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_dpr_context_encoder_model PASSED                                                                                                          [ 15%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_dpr_question_encoder_model PASSED                                                                                                         [ 18%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_dpr_reader_model PASSED                                                                                                                   [ 21%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_forward_signature <- tests/test_modeling_tf_common.py PASSED                                                                              [ 24%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_generate_with_headmasking <- tests/test_modeling_tf_common.py PASSED                                                                      [ 27%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_headmasking <- tests/test_modeling_tf_common.py PASSED                                                                                    [ 30%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_hidden_states_output <- tests/test_modeling_tf_common.py PASSED                                                                           [ 33%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_initialization <- tests/test_modeling_tf_common.py PASSED                                                                                 [ 36%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_inputs_embeds <- tests/test_modeling_tf_common.py PASSED                                                                                  [ 39%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_keras_save_load <- tests/test_modeling_tf_common.py PASSED                                                                                [ 42%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_keyword_and_dict_args <- tests/test_modeling_tf_common.py PASSED                                                                          [ 45%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_lm_head_model_beam_search_generate_dict_outputs <- tests/test_modeling_tf_common.py PASSED                                                [ 48%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_lm_head_model_no_beam_search_generate_dict_outputs <- tests/test_modeling_tf_common.py PASSED                                             [ 51%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_lm_head_model_random_beam_search_generate <- tests/test_modeling_tf_common.py PASSED                                                      [ 54%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_lm_head_model_random_no_beam_search_generate <- tests/test_modeling_tf_common.py PASSED                                                   [ 57%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_load_with_mismatched_shapes <- tests/test_modeling_tf_common.py PASSED                                                                    [ 60%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_loss_computation <- tests/test_modeling_tf_common.py PASSED                                                                               [ 63%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_model_common_attributes <- tests/test_modeling_tf_common.py PASSED                                                                        [ 66%] 
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_model_from_pretrained PASSED                                                                                                              [ 69%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_model_main_input_name <- tests/test_modeling_tf_common.py PASSED                                                                          [ 72%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_model_outputs_equivalence <- tests/test_modeling_tf_common.py PASSED                                                                      [ 75%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_numpy_arrays_inputs <- tests/test_modeling_tf_common.py PASSED                                                                            [ 78%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_onnx_compliancy <- tests/test_modeling_tf_common.py PASSED                                                                                [ 81%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_onnx_runtime_optimize <- tests/test_modeling_tf_common.py PASSED                                                                          [ 84%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_pt_tf_model_equivalence <- tests/test_modeling_tf_common.py SKIPPED (test is PT+TF test)                                                  [ 87%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_resize_token_embeddings <- tests/test_modeling_tf_common.py PASSED                                                                        [ 90%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_save_load <- tests/test_modeling_tf_common.py PASSED                                                                                      [ 93%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelTest::test_save_load_config <- tests/test_modeling_tf_common.py PASSED                                                                               [ 96%]
tests/dpr/test_modeling_tf_dpr.py::TFDPRModelIntegrationTest::test_inference_no_head PASSED                                                                                                       [100%]

=========================================================================================== warnings summary ============================================================================================../../../../home/rahul/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
  /home/rahul/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses  
    import imp

src/transformers/dynamic_module_utils.py:75
  /mnt/d/transformer/transformers-1/src/transformers/dynamic_module_utils.py:75: DeprecationWarning: invalid escape sequence \s
    relative_imports = re.findall("^\s*import\s+\.(\S+)\s*$", content, flags=re.MULTILINE)

src/transformers/dynamic_module_utils.py:77
  /mnt/d/transformer/transformers-1/src/transformers/dynamic_module_utils.py:77: DeprecationWarning: invalid escape sequence \s
    relative_imports += re.findall("^\s*from\s+\.(\S+)\s+import", content, flags=re.MULTILINE)

src/transformers/dynamic_module_utils.py:119
  /mnt/d/transformer/transformers-1/src/transformers/dynamic_module_utils.py:119: DeprecationWarning: invalid escape sequence \s
    imports = re.findall("^\s*import\s+(\S+)\s*$", content, flags=re.MULTILINE)

src/transformers/dynamic_module_utils.py:121
  /mnt/d/transformer/transformers-1/src/transformers/dynamic_module_utils.py:121: DeprecationWarning: invalid escape sequence \s
    imports += re.findall("^\s*from\s+(\S+)\s+import", content, flags=re.MULTILINE)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html `

RUN_SLOW=1 py.test -vv tests/dpr/test_modeling_tf_dpr.py results!

_The documentation is not available anymore as the PR was closed or merged._

Awesome! Will merge as soon as CI gets to green