当inputs_embeds不为None的时候,attention_mask的shape依旧和input_ids一致,但是在调用以下代码时,seq_length为inputs_embeds的大小。
attention_mask = _prepare_4d_causal_attention_mask( attention_mask, (batch_size, seq_length), inputs_embeds, past_key_values_length, sliding_window=None, )
问题应该出在
raise ValueError(
"You cannot specify both decoder_input_ids and decoder_inputs_embeds at the same time")
elif input_ids is not None:
batch_size, seq_length = input_ids.shape
elif inputs_embeds is not None:
batch_size, seq_length, _ = inputs_embeds.shape
else:
raise ValueError(
"You have to specify either decoder_input_ids or decoder_inputs_embeds")
if inputs_embeds is None:
inputs_embeds = self.embed_layer(input_ids)
seq_length = inputs_embeds.shape[1]```
当inputs_embeds不为None的时候,attention_mask的shape依旧和input_ids一致,但是在调用以下代码时,seq_length为inputs_embeds的大小。
attention_mask = _prepare_4d_causal_attention_mask( attention_mask, (batch_size, seq_length), inputs_embeds, past_key_values_length, sliding_window=None, )问题应该出在