示例#1
0
文件: ops.py 项目: xuezu29/DALI
    def __call__(self, *inputs, **kwargs):
        if (len(inputs) > self._schema.MaxNumInput() or
                len(inputs) < self._schema.MinNumInput()):
            raise ValueError(
                ("Operator {} expects [{}, " +
                 "{}] inputs, but received {}")
                .format(type(self).__name__,
                        self._schema.MinNumInput(),
                        self._schema.MaxNumInput(),
                        len(inputs)))

        op_instance = _OperatorInstance(inputs, self, **kwargs)
        t_name = "PythonFunctionImpl" + "_id_" + str(op_instance.id)
        t = EdgeReference(t_name, self._device, op_instance)
        op_instance.spec.AddOutput(t.name, t.device)
        op_instance.append_output(t)
        op_instance.spec.AddArg("function_id", id(self.function))
        return t