def __call__(self, *inputs): inputs = [as_variable(x) for x in inputs] xs = [x.data for x in inputs] ys = self.forward(*xs) if not isinstance(ys, tuple): ys = (ys, ) outputs = [Variable(as_array(y)) for y in ys] if Config.enable_backprop: self.generation = max([x.generation for x in inputs]) for output in outputs: output.set_creator(self) self.inputs = inputs self.outputs = [weakref.ref(output) for output in outputs] return outputs if len(outputs) > 1 else outputs[0]
def rdiv(x0, x1): x1 = as_array(x1) return Div()(x1, x0)
def add(x0, x1): x1 = as_array(x1) return Add()(x0, x1)
def mul(x0, x1): x1 = as_array(x1) return Mul()(x0, x1)
def rsub(x0, x1): x1 = as_array(x1) return Sub()(x1, x0)