-
Notifications
You must be signed in to change notification settings - Fork 21.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ONNX] Deprecated the example_outputs param from torch.onnx.export() function. (#62815) #64380
Conversation
…function. (#62815) * `example_outputs` used to determine the type and shape of the outputs without tracing the execution of the model. And it must be provided when exporting a ScriptModule or ScriptFunction when using export() function. * Since we can work out `example_outputs` in internal function instead of being provided by user, so we deprecated this argument in the export() function to increase user experience of calling this function. Co-authored-by: hwangdeyu <dejack953@outlook.com> [ghstack-poisoned]
🔗 Helpful links
💊 CI failures summary and remediationsAs of commit fbda947 (more details on the Dr. CI page):
🕵️ 3 new failures recognized by patternsThe following CI failures do not appear to be due to upstream breakages: linux-xenial-cuda11.3-py3.6-gcc7 / test (default, 1, 2, linux.8xlarge.nvidia.gpu) (1/3)Step: "Unknown" (full log | diagnosis details | 🔁 rerun)
|
…x.export() function. (#62815)" * `example_outputs` used to determine the type and shape of the outputs without tracing the execution of the model. And it must be provided when exporting a ScriptModule or ScriptFunction when using export() function. * Since we can work out `example_outputs` in internal function instead of being provided by user, so we deprecated this argument in the export() function to increase user experience of calling this function. Co-authored-by: hwangdeyu <dejack953@outlook.com> [ghstack-poisoned]
…x.export() function. (#62815)" * `example_outputs` used to determine the type and shape of the outputs without tracing the execution of the model. And it must be provided when exporting a ScriptModule or ScriptFunction when using export() function. * Since we can work out `example_outputs` in internal function instead of being provided by user, so we deprecated this argument in the export() function to increase user experience of calling this function. Co-authored-by: hwangdeyu <dejack953@outlook.com> [ghstack-poisoned]
…x.export() function. (#62815)" * `example_outputs` used to determine the type and shape of the outputs without tracing the execution of the model. And it must be provided when exporting a ScriptModule or ScriptFunction when using export() function. * Since we can work out `example_outputs` in internal function instead of being provided by user, so we deprecated this argument in the export() function to increase user experience of calling this function. Co-authored-by: hwangdeyu <dejack953@outlook.com> [ghstack-poisoned]
@msaroufim has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
…x.export() function. (#62815)" * `example_outputs` used to determine the type and shape of the outputs without tracing the execution of the model. And it must be provided when exporting a ScriptModule or ScriptFunction when using export() function. * Since we can work out `example_outputs` in internal function instead of being provided by user, so we deprecated this argument in the export() function to increase user experience of calling this function. Co-authored-by: hwangdeyu <dejack953@outlook.com> Differential Revision: [D30905266](https://our.internmc.facebook.com/intern/diff/D30905266) [ghstack-poisoned]
if example_outputs is None: | ||
example_outputs = _get_example_outputs(model, args) | ||
else: | ||
# example_outpus specified |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hwangdeyu updated code to replicate previous results.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great to me!
@malfet has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
…x.export() function. (#62815)" * `example_outputs` used to determine the type and shape of the outputs without tracing the execution of the model. And it must be provided when exporting a ScriptModule or ScriptFunction when using export() function. * Since we can work out `example_outputs` in internal function instead of being provided by user, so we deprecated this argument in the export() function to increase user experience of calling this function. Co-authored-by: hwangdeyu <dejack953@outlook.com> Differential Revision: [D30905266](https://our.internmc.facebook.com/intern/diff/D30905266) [ghstack-poisoned]
@malfet has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
…function. (pytorch#62815) (pytorch#64380) Summary: Pull Request resolved: pytorch#64380 * `example_outputs` used to determine the type and shape of the outputs without tracing the execution of the model. And it must be provided when exporting a ScriptModule or ScriptFunction when using export() function. * Since we can work out `example_outputs` in internal function instead of being provided by user, so we deprecated this argument in the export() function to increase user experience of calling this function. Test Plan: Imported from OSS Reviewed By: ezyang Differential Revision: D30905266 Pulled By: malfet fbshipit-source-id: d00b00d7d02b365d165028288ad915678caa51f2 Co-authored-by: hwangdeyu <dejack953@outlook.com>
* [ONNX] Remove argument _retain_param_name from torch.onnx.export() function. (#61702) (#64370) Summary: Pull Request resolved: #64370 As of now, the "_retain_param_name" parameter has no description in PyTorch docs website. According to code, this argument determines if we keep the original parameter names of PyTorch model in the final ONNX graph. If this is False, those original parameter names will be replaced with a series of integers starting from 1. Since setting numbers as parameter names make no sense to users, we remove this argument from the torch.onnx.export() function to increase user experience of calling this function. This PR will still keep it in torch.onnx.export() function for backward support while all backend logic has been changed to work as _retain_param_name is set to True. Test Plan: Imported from OSS Reviewed By: ezyang Differential Revision: D30905270 Pulled By: malfet fbshipit-source-id: ca60757ca17daaff937e9f08da42596086795f4a Co-authored-by: fatcat-z <zhang-ji@outlook.com> * [ONNX] Remove strip_doc_string param from torch.onnx.export() function. (#61712) (#64371) Summary: Pull Request resolved: #64371 As of now, the "strip_doc_string" parameter was described as below: strip_doc_string (bool, default True): do not include the field doc_string``` from the exported model. Otherwise the field will mention the source code locations for model``. This is usually useless to users who want to transform a PyTorch model to ONNX one. Only when the user wants to debug the export process, these source code locations could provide benefits. To make the export() function more friendly by providing less parameters, we combined "strip_doc_string" into "verbose" parameter. If a user set verbose to True, it means the users need some log information for debugging the export process and this is similar with the purpose of strip_doc_string parameter. But the usage of these 2 arguments are opposite: setting verbose to True means we want to print log information to help debug, which means strip_doc_string should be False. And this is how we replace strip_doc_string with verbose argument in this PR. This PR will still keep it in torch.onnx.export() function for backward support while the usage of it has been combined with verbose argument. Test Plan: Imported from OSS Reviewed By: ezyang Differential Revision: D30905268 Pulled By: malfet fbshipit-source-id: 2f06eb805c01fe15ff7a1b4f6595c937ba716d60 Co-authored-by: fatcat-z <zhang-ji@outlook.com> * [ONNX] minor doc improvements and cleanup (#62514) (#64373) Summary: Pull Request resolved: #64373 * Fix some bad formatting and clarify things in onnx.rst. * In `export_to_pretty_string`: * Add documentation for previously undocumented args. * Document that `f` arg is ignored and mark it deprecated. * Update tests to stop setting `f`. * Warn if `_retain_param_name` is set. * Use double quotes for string literals in test_operators.py. Test Plan: Imported from OSS Reviewed By: ezyang Differential Revision: D30905271 Pulled By: malfet fbshipit-source-id: 3627eeabf40b9516c4a83cfab424ce537b36e4b3 * [ONNX] Deprecated the example_outputs param from torch.onnx.export() function. (#62815) (#64380) Summary: Pull Request resolved: #64380 * `example_outputs` used to determine the type and shape of the outputs without tracing the execution of the model. And it must be provided when exporting a ScriptModule or ScriptFunction when using export() function. * Since we can work out `example_outputs` in internal function instead of being provided by user, so we deprecated this argument in the export() function to increase user experience of calling this function. Test Plan: Imported from OSS Reviewed By: ezyang Differential Revision: D30905266 Pulled By: malfet fbshipit-source-id: d00b00d7d02b365d165028288ad915678caa51f2 Co-authored-by: hwangdeyu <dejack953@outlook.com> * [ONNX] Deprecate use_external_data_format param from torch.onnx.export() function. (#62257) (#64382) Summary: Pull Request resolved: #64382 * This `use_external_data_format` parameter is used for large models cannot be exported because of the 2GB protobuf limit. * When `use_external_data_format` set to True, the model is exported in ONNX external data format, in which case some of the model parameters are stored in external binary files and not in the ONNX model file itself. * This PR will set this paramter to DEPRECATED and check the model proto sizes by code instead of by user, if the sizes lager than 2GB, then `use_external_data_format = True` automatically. Test Plan: Imported from OSS Reviewed By: ezyang Differential Revision: D30905265 Pulled By: malfet fbshipit-source-id: 82b4e17bfa6a8de2bfd700a5282c12f6835603cb Co-authored-by: hwangdeyu <dejack953@outlook.com> * fix clang-tidy error introduced by #64382 (#65977) Summary: Pull Request resolved: #65977 Reviewed By: ngimel Differential Revision: D31423174 Pulled By: malfet fbshipit-source-id: 0ea560b9a6ddd6431f70bd3ac10ace68e26ab352 Co-authored-by: BowenBao <bowbao@microsoft.com> Co-authored-by: fatcat-z <zhang-ji@outlook.com> Co-authored-by: hwangdeyu <dejack953@outlook.com>
The documentation still mentions the parameter. https://github.com/pytorch/pytorch/blob/9257de7/docs/source/onnx.rst#id30 |
Stack from ghstack:
[ONNX] Deprecate use_external_data_format param from torch.onnx.export() function. (#62257) #64382 [ONNX] Deprecate use_external_data_format param from torch.onnx.export() function. ([ONNX] Deprecate use_external_data_format param from torch.onnx.export() function. #62257)
[ONNX] Deprecated the example_outputs param from torch.onnx.export() function. (#62815) #64380 [ONNX] Deprecated the example_outputs param from torch.onnx.export() function. ([ONNX] Deprecated the example_outputs param from torch.onnx.export() function. #62815)
[ONNX] minor doc improvements and cleanup (#62514) #64373 [ONNX] minor doc improvements and cleanup ([ONNX] minor doc improvements and cleanup #62514)
[ONNX] Add supplementary tests and description for custom_opsets param from torch.onnx.export() function. (#62085) #64372 [ONNX] Add supplementary tests and description for custom_opsets param from torch.onnx.export() function. ([ONNX] Add supplementary tests and description for custom_opsets param from torch.onnx.export() function. #62085)
[ONNX] Remove strip_doc_string param from torch.onnx.export() function. (#61712) #64371 [ONNX] Remove strip_doc_string param from torch.onnx.export() function. ([ONNX] Remove strip_doc_string param from torch.onnx.export() function. #61712)
[ONNX] Remove argument _retain_param_name from torch.onnx.export() function. (#61702) #64370 [ONNX] Remove argument _retain_param_name from torch.onnx.export() function. ([ONNX] Remove argument _retain_param_name from torch.onnx.export() function. #61702)
example_outputs
used to determine the type and shape of the outputs without tracing the execution of the model. And it must be provided when exporting a ScriptModule or ScriptFunction when using export() function.Since we can work out
example_outputs
in internal function instead of being provided by user, so we deprecated this argument in the export() function to increase user experience of calling this function.Co-authored-by: hwangdeyu dejack953@outlook.com
Differential Revision: D30905266