示例#1
0
 def Generator(arguments):
     properties = arguments.get(name, None)
     if properties is None: return arguments
     desc_name = name_v2 if name_v2 else name
     if name_v2: del arguments[name]
     if not isinstance(properties, (list, tuple)):
         properties = [properties]
     # Check whether to use desc
     tensor_in_properties = False
     for property in properties:
         if isinstance(property, Tensor):
             tensor_in_properties = True
     if tensor_in_properties:
         properties_t = []
         for property in properties:
             if isinstance(property, Tensor):
                 if as_target:
                     if not 'extra_inputs' in arguments:
                         arguments['extra_inputs'] = []
                     arguments['extra_inputs'].extend([property])
                 properties_t.append(property.name)
             else:
                 properties_t.append(Tensor.convert_to(property, dtype).name)
         arguments[desc_name] = None
         arguments[desc_name + '_desc'] = properties_t
     else:
         arguments[desc_name] = properties
     return arguments
示例#2
0
 def Impl(*args, **kwargs):
     inputs = args[0]
     if isinstance(inputs, (list, tuple)):
         dtype = None
         for input in inputs:
             if isinstance(input, Tensor) and \
                 input.dtype is not None:
                     dtype = input.dtype
                     break
         for i, input in enumerate(inputs):
             if not isinstance(input, Tensor):
                 inputs[i] = Tensor.convert_to(input, dtype)
         return op_func(inputs + list(args[1:]), **kwargs)
     else:
         if not isinstance(inputs, Tensor):
             inputs = Tensor.convert_to(inputs)
         return op_func([inputs] + list(args[1:]), **kwargs)