Exemplo n.º 1
0
    def visit(self, op, delta):
        replace = False

        # If we have updated op.fprop in this pass, replace this op
        # with a version with the replaced fprop.
        fprop = op.fprop
        replacement_fprop = self.get_replacement(fprop)
        if replacement_fprop is not None:
            replace = True
            fprop = replacement_fprop

        if replace:
            self.replace_op(op, BpropPoolOp(delta, op.inputs, fprop))
Exemplo n.º 2
0
    def get_fprop_bprop(self, input_value):
        ip = ng.placeholder(axes=self.ax_i)
        ep = ng.placeholder(axes=self.ax_o)

        iv = np.array(input_value).astype(np.float32).reshape(self.dimI)
        ev = np.ones(self.dimO) * 4

        output = ng.pooling(self.pool_params, ip, axes=self.ax_o)
        delta = BpropPoolOp(ep, ip, output)

        with executor([output, delta], ip, ep) as pool_executor:
            output_value, delta_value = pool_executor(iv, ev)

        return output_value, delta_value
Exemplo n.º 3
0
 def op_from_args(self, op, args):
     return BpropPoolOp(args[0], op.fprop.args[0], op.fprop)