pytorch
4d3c12d3 - [JIT] Print better error when class attribute IValue conversion fails (#50255)

Commit
3 years ago
[JIT] Print better error when class attribute IValue conversion fails (#50255) Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/50255 **Summary** TorchScript classes are copied attribute-by-attribute from a py::object into a `jit::Object` in `toIValue`, which is called when copying objects from Python into TorchScript. However, if an attribute of the class cannot be converted, the error thrown is a standard pybind error that is hard to act on. This commit adds code to `toIValue` to convert each attribute to an `IValue` inside a try-catch block, throwing a `cast_error` containing the name of the attribute and the target type if the conversion fails. **Test Plan** This commit adds a unit test to `test_class_type.py` based on the code in the issue that commit fixes. **Fixes** This commit fixes #46341. Test Plan: Imported from OSS Reviewed By: pbelevich, tugsbayasgalan Differential Revision: D25854183 Pulled By: SplitInfinity fbshipit-source-id: 69d6e49cce9144af4236b8639d8010a20b7030c0
Author
Meghan Lele
Parents
Loading