Esempio n. 1
0
    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]
Esempio n. 2
0
def rdiv(x0, x1):
    x1 = as_array(x1)
    return Div()(x1, x0)
Esempio n. 3
0
def add(x0, x1):
    x1 = as_array(x1)
    return Add()(x0, x1)
Esempio n. 4
0
def mul(x0, x1):
    x1 = as_array(x1)
    return Mul()(x0, x1)
Esempio n. 5
0
def rsub(x0, x1):
    x1 = as_array(x1)
    return Sub()(x1, x0)