def __init__(self, op, inputs, outputs): self.op = op self.inputs = [] self.tag = utils.scratchpad() if not isinstance(inputs, (list, tuple)): raise TypeError("The inputs of an Apply must be a list or tuple") if not isinstance(outputs, (list, tuple)): raise TypeError("The output of an Apply must be a list or tuple") # filter inputs to make sure each element is a Variable for input in inputs: if isinstance(input, Variable): self.inputs.append(input) else: raise TypeError( "The 'inputs' argument to Apply must contain Variable instances, not %s" % input) self.outputs = [] # filter outputs to make sure each element is a Variable for i, output in enumerate(outputs): if isinstance(output, Variable): if output.owner is None: output.owner = self output.index = i elif output.owner is not self or output.index != i: raise ValueError( "All output variables passed to Apply must belong to it." ) self.outputs.append(output) else: raise TypeError( "The 'outputs' argument to Apply must contain Variable instances with no owner, not %s" % output)
def __init__(self, type, owner=None, index=None, name=None): """Initialize type, owner, index, name. :type type: a Type instance :param type: the type governs the kind of data that can be associated with this variable :type owner: None or Apply instance :param owner: the Apply instance which computes the value for this variable :type index: None or int :param index: the position of this Variable in owner.outputs :type name: None or str :param name: a string for pretty-printing and debugging """ super(Variable, self).__init__() self.tag = utils.scratchpad() self.type = type if owner is not None and not isinstance(owner, Apply): raise TypeError("owner must be an Apply instance", owner) self.owner = owner if index is not None and not isinstance(index, int): raise TypeError("index must be an int", index) self.index = index if name is not None and not isinstance(name, basestring): raise TypeError("name must be a string", name) self.name = name self.auto_name = 'auto_' + str(next(self.__count__))
def __init__(self, op, inputs, outputs): self.op = op self.inputs = [] self.tag = utils.scratchpad() if not isinstance(inputs, (list, tuple)): raise TypeError("The inputs of an Apply must be a list or tuple") if not isinstance(outputs, (list, tuple)): raise TypeError("The output of an Apply must be a list or tuple") # filter inputs to make sure each element is a Variable for input in inputs: if isinstance(input, Variable): self.inputs.append(input) else: raise TypeError("The 'inputs' argument to Apply must contain Variable instances, not %s" % input) self.outputs = [] # filter outputs to make sure each element is a Variable for i, output in enumerate(outputs): if isinstance(output, Variable): if output.owner is None: output.owner = self output.index = i elif output.owner is not self or output.index != i: raise ValueError("All output variables passed to Apply must belong to it.") self.outputs.append(output) else: raise TypeError("The 'outputs' argument to Apply must contain Variable instances with no owner, not %s" % output)
def __init__(self, type, owner=None, index=None, name=None): """Initialize type, owner, index, name. :type type: a Type instance :param type: the type governs the kind of data that can be associated with this variable :type owner: None or Apply instance :param owner: the Apply instance which computes the value for this variable :type index: None or int :param index: the position of this Variable in owner.outputs :type name: None or str :param name: a string for pretty-printing and debugging """ self.tag = utils.scratchpad() self.type = type if owner is not None and not isinstance(owner, Apply): raise TypeError("owner must be an Apply instance", owner) self.owner = owner if index is not None and not isinstance(index, int): raise TypeError("index must be an int", index) self.index = index if name is not None and not isinstance(name, basestring): raise TypeError("name must be a string", name) self.name = name
def __init__(self, op, inputs, outputs): """Initialize attributes :Parameters: `op` : `Op` instance initialize self.op `inputs` : list of Variable instances initialize self.inputs `outputs` : list of Variable instances initialize self.outputs :note: The owner field of each output in the outputs list will be set to self. :note: If an output element has an owner that is neither None nor self, then a ValueError exception will be raised. """ self.op = op self.inputs = [] self.tag = utils.scratchpad() if not isinstance(inputs, (list, tuple)): raise TypeError("The inputs of an Apply must be a list or tuple") if not isinstance(outputs, (list, tuple)): raise TypeError("The output of an Apply must be a list or tuple") # filter inputs to make sure each element is a Variable for input in inputs: if isinstance(input, Variable): self.inputs.append(input) else: raise TypeError( "The 'inputs' argument to Apply must contain Variable instances, not %s" % input) self.outputs = [] # filter outputs to make sure each element is a Variable for i, output in enumerate(outputs): if isinstance(output, Variable): if output.owner is None: output.owner = self output.index = i elif output.owner is not self or output.index != i: raise ValueError( "All output variables passed to Apply must belong to it." ) self.outputs.append(output) else: raise TypeError( "The 'outputs' argument to Apply must contain Variable instances with no owner, not %s" % output)
def __init__(self, op, inputs, outputs): """Initialize attributes :Parameters: `op` : `Op` instance initialize self.op `inputs` : list of Variable instances initialize self.inputs `outputs` : list of Variable instances initialize self.outputs :note: The owner field of each output in the outputs list will be set to self. :note: If an output element has an owner that is neither None nor self, then a ValueError exception will be raised. """ self.op = op self.inputs = [] self.tag = utils.scratchpad() if not isinstance(inputs, (list, tuple)): raise TypeError("The inputs of an Apply must be a list or tuple") if not isinstance(outputs, (list, tuple)): raise TypeError("The output of an Apply must be a list or tuple") # filter inputs to make sure each element is a Variable for input in inputs: if isinstance(input, Variable): self.inputs.append(input) else: raise TypeError("The 'inputs' argument to Apply must contain Variable instances, not %s" % input) self.outputs = [] # filter outputs to make sure each element is a Variable for i, output in enumerate(outputs): if isinstance(output, Variable): if output.owner is None: output.owner = self output.index = i elif output.owner is not self or output.index != i: raise ValueError("All output variables passed to Apply must belong to it.") self.outputs.append(output) else: raise TypeError( "The 'outputs' argument to Apply must contain Variable instances with no owner, not %s" % output )
def __init__(self, type, owner=None, index=None, name=None): super(Variable, self).__init__() self.tag = utils.scratchpad() self.type = type if owner is not None and not isinstance(owner, Apply): raise TypeError("owner must be an Apply instance", owner) self.owner = owner if index is not None and not isinstance(index, integer_types): raise TypeError("index must be an int", index) self.index = index if name is not None and not isinstance(name, string_types): raise TypeError("name must be a string", name) self.name = name self.auto_name = 'auto_' + str(next(self.__count__))
def __init__(self, type, owner=None, index=None, name=None): super(Variable, self).__init__() self.tag = utils.scratchpad() self.type = type if owner is not None and not isinstance(owner, Apply): raise TypeError("owner must be an Apply instance", owner) self.owner = owner if index is not None and not isinstance(index, int): raise TypeError("index must be an int", index) self.index = index if name is not None and not isinstance(name, string_types): raise TypeError("name must be a string", name) self.name = name self.auto_name = 'auto_' + str(next(self.__count__))