in optimum/exporters/neuron/base.py [0:0]
def forward(self, *input):
if len(input) != len(self.input_names):
raise ValueError(
f"The model needs {len(self.input_names)} inputs: {self.input_names}."
f" But only {len(input)} inputs are passed."
)
ordered_inputs = dict(zip(self.input_names, input))
if forward_with_tuple is True:
outputs = self.model(*ordered_inputs.values())
else:
if output_hidden_states:
ordered_inputs["output_hidden_states"] = True
outputs = self.model(**ordered_inputs)
if isinstance(outputs, dict):
if eligible_outputs is not None:
outputs = {name: outputs[name] for name in outputs.keys() & eligible_outputs}
if isinstance(outputs, tuple) and eligible_outputs is not None:
if not all(isinstance(x, int) for x in eligible_outputs):
raise ValueError(
"To extract outputs from a tuple, `eligible_outputs` must be a list of integers only."
)
outputs = [outputs[i] for i in eligible_outputs]
return outputs