Skip to content

Conversation

@Maxinho96
Copy link
Contributor

@Maxinho96 Maxinho96 commented Oct 4, 2021

Copy link
Member

@michaelbenayoun michaelbenayoun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your PR!

_SUPPORTED_MODEL_KIND = {
"albert": supported_features_mapping("default", onnx_config_cls=AlbertOnnxConfig),
"bart": supported_features_mapping("default", onnx_config_cls=BartOnnxConfig),
"marian": supported_features_mapping("seq2seq-lm", onnx_config_cls=MarianOnnxConfig),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can also add the "default" task.

self._setup_normalizer()

def num_special_tokens_to_add(self, **unused):
def num_special_tokens_to_add(self, *args, **kwargs):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the reason for this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

num_special_tokens_to_add is called here with a positional argument, that causes an error if the function is defined only with keyword arguments **unused.


>>> last_hidden_states = outputs.last_hidden_state
"""
# different to other models, Marian automatically creates decoder_input_ids from
Copy link
Member

@michaelbenayoun michaelbenayoun Oct 26, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LysandreJik @patil-suraj What do you think?

Just saw this comment, will investigate and come back to you.

Copy link
Contributor Author

@Maxinho96 Maxinho96 Oct 26, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, anyway I just copied what BART does here

Copy link
Contributor

@patil-suraj patil-suraj Nov 1, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be added here. This is done for BART because of the denoising pre-training objective, so only BART and mBART prepare the deocder_input_ids from input_ids. For Marian users should pass either decoder_input_ids or labels and this is already handled by the MarianMTModel class.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be added here. This is done for BART because of the denoising pre-training objective, so only BART and mBART prepare the deocder_input_ids from input_ids. For Marian users should pass either decoder_input_ids or labels and this is already handled by the MarianMTModel class.

Thank you @patil-suraj for the reply, but as I said in this comment, transformers.onnx.convert.export() calls MarianMTModel.forward() without passing decoder_input_ids or labels, so how is this supposed to be handled?

@github-actions
Copy link
Contributor

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the contributing guidelines are likely to be ignored.

@lewtun lewtun mentioned this pull request Dec 1, 2021
9 tasks
@github-actions github-actions bot closed this Dec 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add MarianMT to models exportable with ONNX

3 participants