'pad_to_max_length' in Pipeline should be set to True by default
Author: Akashdesarda
Pull request: no

# 🐛 Bug
pad_to_max_length is set by default False in Piplene class' _parse_and_tokenize() function
## Information

Model I am using (Bert):

Language I am using the model on (English):

The problem arises when using: my own modified scripts: 
```
import numpy as np
from transformers import AutoTokenizer, pipeline, TFDistilBertModel
model = TFDistilBertModel.from_pretrained('distilbert-base-uncased')

# model = AutoModel.from_pretrained('distilbert-base-uncased')
tokenizer = AutoTokenizer.from_pretrained('distilbert-base-uncased', pad_to_max_length=True)
pipe = pipeline('feature-extraction', model=model, tokenizer=tokenizer)

features = pipe(train_data['comment_text'][:100].values.tolist())
features = np.squeeze(features)
print(features.shape)
```
As there are about 100 input of variable length, tokenizer should perform padding. But even after giving ```pad_to_max_length=True``` , padding operation is not perform. 

I get the following error
```
~/anaconda3/envs/tf2/lib/python3.7/site-packages/transformers/pipelines.py in predict(self, X)
    392         Scikit / Keras interface to transformers' pipelines. This method will forward to __call__().
    393         """
--> 394         return self(X=X)
    395 
    396     @contextmanager

~/anaconda3/envs/tf2/lib/python3.7/site-packages/transformers/pipelines.py in __call__(self, *args, **kwargs)
    551 
    552     def __call__(self, *args, **kwargs):
--> 553         return super().__call__(*args, **kwargs).tolist()
    554 
    555 

~/anaconda3/envs/tf2/lib/python3.7/site-packages/transformers/pipelines.py in __call__(self, *texts, **kwargs)
    465 
    466     def __call__(self, *texts, **kwargs):
--> 467         inputs = self._parse_and_tokenize(*texts, **kwargs)
    468         return self._forward(inputs)
    469 

~/anaconda3/envs/tf2/lib/python3.7/site-packages/transformers/pipelines.py in _parse_and_tokenize(self, pad_to_max_length, *texts, **kwargs)
    456             return_tensors=self.framework,
    457             max_length=self.tokenizer.max_len,
--> 458             pad_to_max_length=pad_to_max_length,
    459         )
    460 

~/anaconda3/envs/tf2/lib/python3.7/site-packages/transformers/tokenization_utils.py in batch_encode_plus(self, batch_text_or_text_pairs, add_special_tokens, max_length, stride, truncation_strategy, pad_to_max_length, return_tensors, return_token_type_ids, return_attention_masks, return_overflowing_tokens, return_special_tokens_masks, return_offsets_mapping, return_input_lengths, **kwargs)
   1260                             raise ValueError(self.NO_PAD_TOKEN_FOR_BATCH_MSG)
   1261                         else:
-> 1262                             raise ValueError(self.UNEVEN_SEQUENCES_FOR_BATCH_MSG)
   1263                 elif return_tensors == "pt" and is_torch_available():
   1264                     try:

ValueError: The sequences building the batch are not of the same size, no tensor can be built. Set `pad_to_max_length=True` to pad the smaller sequencesup to the larger sequence's length.
```
The tasks I am working on is:
* [ ] my own task or dataset: (give details below)
kaggle toxic tweet dataset. 


<!-- If you have code snippets, error messages, stack traces please provide them here as well.
     Important! Use code tags to correctly format your code. See https://help.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks#syntax-highlighting
     Do not use screenshots, as they are hard to read and (more importantly) don't allow others to copy-and-paste your code.-->

## Expected behavior
Pipeline should perform padding operation. 
<!-- A clear and concise description of what you would expect to happen. -->
When I made pad_to_max_length=True inside function  _parse_and_tokenize() of class Pipeline,
I got expected result. Pipeline perform its task perfectly (padding operation was also done) and feature extraction was executed on all inputs (in my case 100)
## Environment info
<!-- You can run the command `transformers-cli env` and copy-and-paste its output below.
     Don't forget to fill out the missing fields in that output! -->
     
- `transformers` version: 2.8.0
- Platform: Linux-5.3.0-46-generic-x86_64-with-debian-buster-sid
- Python version:3.8
- Tensorflow version (GPU?): 2.1
- Using GPU in script?: Yes

Comments:
Hi @Akashdesarda, thanks for reporting this.
You should be able to pass `pad_to_max_length=True` when calling your pipeline: 

`pipe(train_data['comment_text'][:100].values.tolist(), pad_to_max_length=True)`

Can you let us know if it works in your case ?


Yes it worked, thanks for the solution.