in optimum/exporters/onnx/model_configs.py [0:0]
def inputs(self):
common_inputs = {}
common_inputs["attention_mask"] = {0: "batch_size"}
if self._behavior is not ConfigBehavior.DECODER:
common_inputs["flattened_patches"] = {0: "batch_size"}
if self._behavior is not ConfigBehavior.ENCODER:
if self.use_past_in_inputs:
common_inputs["decoder_input_ids"] = {0: "batch_size"}
else:
common_inputs["decoder_input_ids"] = {0: "batch_size", 1: "decoder_sequence_length"}
if self._behavior is ConfigBehavior.DECODER:
if self.use_past_in_inputs:
self.add_past_key_values(common_inputs, direction="inputs")
common_inputs["encoder_outputs"] = {0: "batch_size"}
# Contrary to other seq2seq archs as t5 and bart, Pix2Struct DO make use of the decoder_attention_mask input.
common_inputs["decoder_attention_mask"] = {0: "batch_size", 1: "past_sequence_length + 1"}
return common_inputs