imaug.py 887 B

1234567891011121314151617181920212223242526272829303132
  1. from .operators import *
  2. def transform(data, ops=None):
  3. """transform"""
  4. if ops is None:
  5. ops = []
  6. for op in ops:
  7. data = op(data)
  8. if data is None:
  9. return None
  10. return data
  11. def create_operators(op_param_list, global_config=None):
  12. """
  13. create operators based on the config
  14. Args:
  15. params(list): a dict list, used to create some operators
  16. """
  17. assert isinstance(op_param_list, list), "operator config should be a list"
  18. ops = []
  19. for operator in op_param_list:
  20. assert isinstance(operator, dict) and len(operator) == 1, "yaml format error"
  21. op_name = list(operator)[0]
  22. param = {} if operator[op_name] is None else operator[op_name]
  23. if global_config is not None:
  24. param.update(global_config)
  25. op = eval(op_name)(**param)
  26. ops.append(op)
  27. return ops