pytorch/torch/_export/db/examples
Shangdi Yu a503136583 [export] Detect whether case_name is registered in exportdb (#132420)
Summary:
- moves logging functionalities into `torch/_export/db/logging.py` file.
- add a check in `_dynamo/eval_frame.py` to check for optional input and error out with `UnsupportedError`
- change the case name of `torch_sym_int` to `unsupported_operator`
- Check if the case name is registered in exportdb, if so, we give a link to the case in exportdb.
- TODO: add test

Test Plan:
CI

Running the example in https://pytorch.org/docs/main/generated/exportdb/index.html#optional-input gives the following error logging:

```
E0730 10:53:33.687000 4155538 torch/_dynamo/eval_frame.py:1086] Parameter y is optional with a default value of tensor([[-0.1633,  1.2414, -0.1071],
E0730 10:53:33.687000 4155538 torch/_dynamo/eval_frame.py:1086]         [-0.1936, -0.9425, -0.0824]])
E0730 10:53:33.688000 4155538 torch/export/_trace.py:1043] See optional_input in exportdb for unsupported case.                 https://pytorch.org/docs/main/generated/exportdb/index.html#optional-input
......
  File "/data/users/shangdiy/fbsource/buck-out/v2/gen/fbcode/389acaeb40d57230/tutorials/pytorch/nntest/__torchtest__/torchtest#link-tree/torch/_dynamo/eval_frame.py", line 1091, in produce_matching
    raise Unsupported(
torch._dynamo.exc.Unsupported: Tracing through optional input is not supported yet
```

It also logs a `export.error.classified` event in Scuba.

Reviewed By: zhxchen17

Differential Revision: D60427208

Pull Request resolved: https://github.com/pytorch/pytorch/pull/132420
Approved by: https://github.com/zhxchen17
2024-08-03 01:08:48 +00:00
..
__init__.py [export] Rewrite exportdb formatting. (#129260) 2024-06-25 21:04:53 +00:00
assume_constant_result.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
autograd_function.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
class_method.py Add None return type to init (#132335) 2024-08-01 15:26:45 +00:00
cond_branch_class_method.py Add None return type to init (#132335) 2024-08-01 15:26:45 +00:00
cond_branch_nested_function.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
cond_branch_nonlocal_variables.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
cond_closed_over_variable.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
cond_operands.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
cond_predicate.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
constrain_as_size_example.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
constrain_as_value_example.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
decorator.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
dictionary.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
dynamic_shape_assert.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
dynamic_shape_constructor.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
dynamic_shape_if_guard.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
dynamic_shape_map.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
dynamic_shape_round.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
dynamic_shape_slicing.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
dynamic_shape_view.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
fn_with_kwargs.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
list_contains.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
list_unpack.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
model_attr_mutation.py Add None return type to init (#132335) 2024-08-01 15:26:45 +00:00
nested_function.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
null_context_manager.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
optional_input.py [BE][Easy][14/19] enforce style for empty lines in import segments in torch/_[a-c]*/ and torch/_[e-h]*/ and torch/_[j-z]*/ (#129765) 2024-07-31 10:42:50 +00:00
pytree_flatten.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
scalar_output.py Add None return type to init (#132335) 2024-08-01 15:26:45 +00:00
specialized_attribute.py Add None return type to init (#132335) 2024-08-01 15:26:45 +00:00
static_for_loop.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
static_if.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
tensor_setattr.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
type_reflection_method.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00
unsupported_operator.py [export] Detect whether case_name is registered in exportdb (#132420) 2024-08-03 01:08:48 +00:00
user_input_mutation.py [export] Update example inputs format for DB. (#129982) 2024-07-03 17:53:15 +00:00