Hello. I am trying to greedy_search with T5ModelForConditionalGeneration.
However, it seems I have to provide input_ids as both the input_ids parameter and as part of model_kwargs parameter of the greedy_search.
The input_ids argument of greedy_search acts as the initial decoded state, while input_ids that is supposed to appear in model_kwargs is passed to self (T5) for inference.
I do not see a way to pass two input_ids argument to the greedy_search function. Right now the function complains that I don’t pass input_ids to its internal T5.
How would I go about using the greedy_search function fot T5?
Solved by passing encoder_outputs to greedy_seach.
Hi seongmin, I am facing the same issue currently but I am not sure what to do. Would you have a code sample to share on how you managed to pass the encoder_outputs to greedy_search? Thank you.
Hi Reuben.
While I can’t share the exact code because I don’t own it, here’s the gist of what I did:
model = T5ForConditionalGeneration(...)
encoder_outputs = model.encoder(encoder_input_ids, return_dict=True, output_hidden_states=True)
decoder_input_ids = torch.tensor([t5config.starter_token_id])
generated = model.greedy_search(decoder_input_ids, encoder_outputs=encoder_outputs)
1 Like
Hi @seongmin ,
That was immensely helpful thank you so much! Have a great day 