• Y
    Python Generate OpCreation Methods by OpProto · 9e0c6800
    Yu Yang 提交于
    All OpCreation method are generated by
    `create_op_creation_methods::__bootstrap__` method, and stores in
    `op_creations` object and its methods.
    
    There are three parts to implement this feature.
    
    1. Get all registered `OpProto` from C++ side. It is implemented in
    `get_all_op_protos` method.
    1. Create a function to convert `kwargs` to `OpDesc` base on each op's
    `OpProto`. The `OpDescCreationMethod` class.
    1. Convert `OpProto` to `docstring` by `get_docstring_from_op_proto`
    method.
    
    All three methods are unit tested. The `__bootstrap__` just combines
    them together and create a method in runtime.
    
    For details, please reference the doc string in
    `create_op_creation_methods.py` and the unit test
    `test_op_creation_methods.py`.
    9e0c6800
pybind.cc 3.1 KB