You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

custom.py 879 B

1234567891011121314151617181920212223242526272829303132
  1. # -*- coding: utf-8 -*-
  2. # MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
  3. #
  4. # Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
  5. #
  6. # Unless required by applicable law or agreed to in writing,
  7. # software distributed under the License is distributed on an
  8. # "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  9. from .._imperative_rt.ops._custom import (
  10. _get_custom_op_list,
  11. _install,
  12. _make_custom_op,
  13. _uninstall,
  14. )
  15. __all__ = ["load"]
  16. def _gen_custom_op_maker(custom_op_name):
  17. def op_maker(**kwargs):
  18. return _make_custom_op(custom_op_name, kwargs)
  19. return op_maker
  20. def load(lib_path):
  21. op_in_this_lib = _install(lib_path[0:-3], lib_path)
  22. for op in op_in_this_lib:
  23. op_maker = _gen_custom_op_maker(op)
  24. globals()[op] = op_maker
  25. __all__.append(op)