Skip to content

Pre-trained model raises IndexError: index out of range in self #85

@shivanraptor

Description

@shivanraptor

I tried to test the performance of the pre-trained model using the codes below:

from transformers import BertTokenizer, BartModel
model = BartModel.from_pretrained("/path/to/generated/pretrained/model/")
tokenizer = BertTokenizer.from_pretrained("/path/to/generated/pretrained/model/")

inputs = tokenizer("今天天氣很好", return_tensors="pt")
outputs = model(**inputs)

It raises:

TypeError: BartModel.forward() got an unexpected keyword argument 'token_type_ids'

Then, it uses the following line to remove the token_type_ids and retry:

del(inputs['token_type_ids'])
outputs = model(**inputs)

Then, it shows:

IndexError: index out of range in self

How do I resolve this issue?


Traceback is as follows:

╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ in <module>:1                                                                                    │
│                                                                                                  │
│ /home/jupyter-raptor/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1553 in      │
│ _wrapped_call_impl                                                                               │
│                                                                                                  │
│   1550 │   │   if self._compiled_call_impl is not None:                                          │
│   1551 │   │   │   return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]        │
│   1552 │   │   else:                                                                             │
│ ❱ 1553 │   │   │   return self._call_impl(*args, **kwargs)                                       │
│   1554 │                                                                                         │
│   1555 │   def _call_impl(self, *args, **kwargs):                                                │
│   1556 │   │   forward_call = (self._slow_forward if torch._C._get_tracing_state() else self.fo  │
│                                                                                                  │
│ /home/jupyter-raptor/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1562 in      │
│ _call_impl                                                                                       │
│                                                                                                  │
│   1559 │   │   if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks   │
│   1560 │   │   │   │   or _global_backward_pre_hooks or _global_backward_hooks                   │
│   1561 │   │   │   │   or _global_forward_hooks or _global_forward_pre_hooks):                   │
│ ❱ 1562 │   │   │   return forward_call(*args, **kwargs)                                          │
│   1563 │   │                                                                                     │
│   1564 │   │   try:                                                                              │
│   1565 │   │   │   result = None                                                                 │
│                                                                                                  │
│ /home/jupyter-raptor/.local/lib/python3.10/site-packages/transformers/models/bart/modeling_bart. │
│ py:1222 in forward                                                                               │
│                                                                                                  │
│   1219 │   │   return_dict = return_dict if return_dict is not None else self.config.use_return  │
│   1220 │   │                                                                                     │
│   1221 │   │   if encoder_outputs is None:                                                       │
│ ❱ 1222 │   │   │   encoder_outputs = self.encoder(                                               │
│   1223 │   │   │   │   input_ids=input_ids,                                                      │
│   1224 │   │   │   │   attention_mask=attention_mask,                                            │
│   1225 │   │   │   │   head_mask=head_mask,                                                      │
│                                                                                                  │
│ /home/jupyter-raptor/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1553 in      │
│ _wrapped_call_impl                                                                               │
│                                                                                                  │
│   1550 │   │   if self._compiled_call_impl is not None:                                          │
│   1551 │   │   │   return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]        │
│   1552 │   │   else:                                                                             │
│ ❱ 1553 │   │   │   return self._call_impl(*args, **kwargs)                                       │
│   1554 │                                                                                         │
│   1555 │   def _call_impl(self, *args, **kwargs):                                                │
│   1556 │   │   forward_call = (self._slow_forward if torch._C._get_tracing_state() else self.fo  │
│                                                                                                  │
│ /home/jupyter-raptor/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1562 in      │
│ _call_impl                                                                                       │
│                                                                                                  │
│   1559 │   │   if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks   │
│   1560 │   │   │   │   or _global_backward_pre_hooks or _global_backward_hooks                   │
│   1561 │   │   │   │   or _global_forward_hooks or _global_forward_pre_hooks):                   │
│ ❱ 1562 │   │   │   return forward_call(*args, **kwargs)                                          │
│   1563 │   │                                                                                     │
│   1564 │   │   try:                                                                              │
│   1565 │   │   │   result = None                                                                 │
│                                                                                                  │
│ /home/jupyter-raptor/.local/lib/python3.10/site-packages/transformers/models/bart/modeling_bart. │
│ py:799 in forward                                                                                │
│                                                                                                  │
│    796 │   │   │   raise ValueError("You have to specify either input_ids or inputs_embeds")     │
│    797 │   │                                                                                     │
│    798 │   │   if inputs_embeds is None:                                                         │
│ ❱  799 │   │   │   inputs_embeds = self.embed_tokens(input_ids) * self.embed_scale               │
│    800 │   │                                                                                     │
│    801 │   │   embed_pos = self.embed_positions(input_shape)                                     │
│    802                                                                                           │
│                                                                                                  │
│ /home/jupyter-raptor/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1553 in      │
│ _wrapped_call_impl                                                                               │
│                                                                                                  │
│   1550 │   │   if self._compiled_call_impl is not None:                                          │
│   1551 │   │   │   return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]        │
│   1552 │   │   else:                                                                             │
│ ❱ 1553 │   │   │   return self._call_impl(*args, **kwargs)                                       │
│   1554 │                                                                                         │
│   1555 │   def _call_impl(self, *args, **kwargs):                                                │
│   1556 │   │   forward_call = (self._slow_forward if torch._C._get_tracing_state() else self.fo  │
│                                                                                                  │
│ /home/jupyter-raptor/.local/lib/python3.10/site-packages/torch/nn/modules/module.py:1562 in      │
│ _call_impl                                                                                       │
│                                                                                                  │
│   1559 │   │   if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks   │
│   1560 │   │   │   │   or _global_backward_pre_hooks or _global_backward_hooks                   │
│   1561 │   │   │   │   or _global_forward_hooks or _global_forward_pre_hooks):                   │
│ ❱ 1562 │   │   │   return forward_call(*args, **kwargs)                                          │
│   1563 │   │                                                                                     │
│   1564 │   │   try:                                                                              │
│   1565 │   │   │   result = None                                                                 │
│                                                                                                  │
│ /home/jupyter-raptor/.local/lib/python3.10/site-packages/torch/nn/modules/sparse.py:164 in       │
│ forward                                                                                          │
│                                                                                                  │
│   161 │   │   │   │   self.weight[self.padding_idx].fill_(0)                                     │
│   162 │                                                                                          │
│   163 │   def forward(self, input: Tensor) -> Tensor:                                            │
│ ❱ 164 │   │   return F.embedding(                                                                │
│   165 │   │   │   input, self.weight, self.padding_idx, self.max_norm,                           │
│   166 │   │   │   self.norm_type, self.scale_grad_by_freq, self.sparse)                          │
│   167                                                                                            │
│                                                                                                  │
│ /home/jupyter-raptor/.local/lib/python3.10/site-packages/torch/nn/functional.py:2267 in          │
│ embedding                                                                                        │
│                                                                                                  │
│   2264 │   │   #   torch.embedding_renorm_                                                       │
│   2265 │   │   # remove once script supports set_grad_enabled                                    │
│   2266 │   │   _no_grad_embedding_renorm_(weight, input, max_norm, norm_type)                    │
│ ❱ 2267 │   return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)        │
│   2268                                                                                           │
│   2269                                                                                           │
│   2270 def embedding_bag(                                                                        │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
IndexError: index out of range in self

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions