32 lines
		
	
	
		
			922 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			922 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from pp_onnx.operators import *
 | |
| 
 | |
| def transform(data, ops=None):
 | |
|     """ transform """
 | |
|     if ops is None:
 | |
|         ops = []
 | |
|     for op in ops:
 | |
|         data = op(data)
 | |
|         if data is None:
 | |
|             return None
 | |
|     return data
 | |
| 
 | |
| 
 | |
| def create_operators(op_param_list, global_config=None):
 | |
|     """
 | |
|     create operators based on the config
 | |
| 
 | |
|     Args:
 | |
|         params(list): a dict list, used to create some operators
 | |
|     """
 | |
|     assert isinstance(op_param_list, list), ('operator config should be a list')
 | |
|     ops = []
 | |
|     for operator in op_param_list:
 | |
|         assert isinstance(operator,
 | |
|                           dict) and len(operator) == 1, "yaml format error"
 | |
|         op_name = list(operator)[0]
 | |
|         param = {} if operator[op_name] is None else operator[op_name]
 | |
|         if global_config is not None:
 | |
|             param.update(global_config)
 | |
|         op = eval(op_name)(**param)
 | |
|         ops.append(op)
 | |
|     return ops |