Why is the seq_len dimension hard coded to be the first dimension of BERT's input?
According to your [code](https://github.com/huggingface/transformers/blob/2e81b9d8d76a4d41a13f74eb5e0f4a65d8143cab/src/transformers/modeling_bert.py#L164), the `seq_len` dimension always corresponds to the first dimension of the input tensor. I found this problem when I tried to feed a tensor of shape `(batch_size, num_seq, seq_len)` and error occurred. Is there any specific reason for you to adopt this setting? Given that normally a PyTorch` Embedding` layer  can take an input of any shape, it doesn't look so natural to me to have this setting. Any suggestions? Many thanks!
My wild guess is maybe there is no specific reason for this. It's just an implementation issue. If I really want do feed a tensor of different number of dimensions I can just do reshape twice (i.e., one before forward one after).