Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/transformers/models/whisper/generation_whisper.py
Original file line number Diff line number Diff line change
Expand Up @@ -1929,14 +1929,15 @@ def _set_max_new_tokens_and_length(self, config, decoder_input_ids, generation_c
f"so that their combined length is less than {self.config.max_target_positions}."
)

num_initial_tokens = min(config.max_target_positions // 2 - 1, decoder_input_ids.shape[-1] - 1)
num_initial_tokens = min(config.max_target_positions // 2 - 1, decoder_input_ids.shape[-1])

# Make sure we don't get larger than `max_length`
if generation_config.max_length is not None and generation_config.max_new_tokens is None:
max_length = min(generation_config.max_length + num_initial_tokens, config.max_target_positions)
logger.info(
f"Increase max_length from {generation_config.max_length} to {max_length} since input is conditioned on previous segment."
)
generation_config.max_length = max_length
elif (
generation_config.max_new_tokens is not None
and generation_config.max_new_tokens + decoder_input_ids.shape[-1] > config.max_target_positions
Expand Down
Loading