pytorch
4008df35 - Add property binding in torchbind (#50670)

Commit
4 years ago
Add property binding in torchbind (#50670) Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/50670 This PR adds property support to Torchbind. There are two cases that it needs to work: **Torchscript** Inside Torchscript, we don't go through pybind so there is no issue with accessing properties through ClassType. **Eager Mode** In Eager Mode, Torchbind creates ScriptObject which we cannot dynamically add (aka access) properties after initializing it. (https://stackoverflow.com/questions/1325673/how-to-add-property-to-a-class-dynamically ) Therefore we created a Python wrapper (ScriptObjectWrapper) around ScriptObject where we can use property method to set properties. By doing so, we can look up wrapped object's property through __getattr__ method of the ScriptObjectWrapper. This logic is inspired from https://github.com/pytorch/pytorch/pull/44324 Test Plan: test cases in test_torchbind.py Imported from OSS Reviewed By: pbelevich Differential Revision: D26632781 fbshipit-source-id: dd690887cfda0c48ff0d104aa240ce0ab09055bc
Parents
Loading