pytorch
90d31cb3 - Emit ATen ops when symbolics raise + minor fixes

Commit
2 years ago
Emit ATen ops when symbolics raise + minor fixes Currently `torch.onnx.export(.., operator_export_type=OperatorExportTypes.ONNX_ATEN_FALLBACK)` only issues ATen ops through explicit requests (e.g. `g.at()`) calls inside each op symbolic function. This is done based on specific conditions such as `operator_export_type==OperatorExportTypes.ONNX_ATEN_FALLBACK)` or `is_caffe2_aten_fallback()` This PR extends the ATen fallback mechanism for scenarios when the symbolic function raises `RuntimeError` during export. The idea is that partial implementation of existing ONNX ops can fallback to ATen as a last resort. That is valuable because each operator can have many input combinations and not all are always implemented. A minor fix was done to make sure the `overload_name` attribute is added to explicit ATen op fallback requests when a symbolic is not registered to a particular op. ps: The behavior for builds with BUILD_CAFFE2=1 is not changed to ensure BC. Pull Request resolved: https://github.com/pytorch/pytorch/pull/74759 Approved by: https://github.com/garymm, https://github.com/msaroufim
Author
Thiago Crepaldi
Committer
Parents
Loading