Exemplo n.º 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(property, dtype=dtype).name)
         arguments[desc_name] = None
         arguments[desc_name + '_desc'] = properties_t
     else:
         arguments[desc_name] = properties
     return arguments
Exemplo n.º 2
0
 def Impl(*args, **kwargs):
     inputs = args[0]
     if isinstance(inputs, (list, tuple)):
         dtype = None
         for idx, input in enumerate(inputs):
             if isinstance(input, Tensor) and \
                 input.dtype is not None:
                 dtype = input.dtype
                 break
         for idx, input in enumerate(inputs):
             if not isinstance(input, Tensor):
                 inputs[idx] = Tensor.Convert(input, dtype=dtype)
         return op_func(inputs + list(args[1:]), **kwargs)
     else:
         if not isinstance(inputs, Tensor):
             inputs = Tensor.Convert(inputs, dtype=None)
         return op_func([inputs] + list(args[1:]), **kwargs)
Exemplo n.º 3
0
def AddArgumentsWithDesc(arguments, properties, name, type, as_target=True):
    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(property, dtype=type).name)
        arguments[name] = None
        arguments[name + '_desc'] = properties_t
    return arguments