Add interface to support multiple batches (#1914)
Summary:
The interface `self.gen_input_iter()` returns an input generator which yields the next batch of available input.
We support dynamic shapes on 3 categories of models:
- huggingface (hf_*): we randomize the bucket_len of the input data
- timm: we randomize the batch_size of the input data
- torchvision: we randomize the batch_size of the input data
This PR also introduces a new type of train test, `train_dynamic`, to run the train test with a list of batches. By default, we will run 10 batches of inputs returned from the generator.
Pull Request resolved: https://github.com/pytorch/benchmark/pull/1914
Reviewed By: davidberard98
Differential Revision: D49504281
Pulled By: xuzhao9
fbshipit-source-id: 322015ff85725869fe8573dc709a04796332dfed