def test_divides(self):
     divisible = [(1, 1), (2, 1), (100, 1), (50, 2), (12, 3)]
     not_divisible = [(1, 0), (5, 0), (5, 4), (13, 2), (3, 6)]
     for (n, m) in divisible:
         self.assertTrue(tools.divides(n, m))
     for (n, m) in not_divisible:
         self.assertFalse(tools.divides(n, m))
 def test_divides(self):
     divisible = [(1, 1), (2, 1), (100, 1), (50, 2), (12, 3)]
     not_divisible = [(1, 0), (5, 0), (5, 4), (13, 2), (3, 6)]
     for (n, m) in divisible:
         self.assertTrue(tools.divides(n, m))
     for (n, m) in not_divisible:
         self.assertFalse(tools.divides(n, m))
    def evaluate_gradient(self):
        """ Performs adjoint simulation to evaluate gradient
        """
        system.run('solver', 'eval_grad',
                   path=PATH.GRAD,
                   export_traces=divides(optimize.iter, PAR.SAVETRACES))

        self.write_gradient(path=PATH.GRAD, suffix='new')
示例#4
0
    def evaluate_gradient(self):
        """ Performs adjoint simulation to evaluate gradient
        """
        system.run('solver', 'eval_grad',
                   path=PATH.GRAD,
                   export_traces=divides(optimize.iter, PAR.SAVETRACES))

        self.write_gradient(path=PATH.GRAD, suffix='new')
示例#5
0
    def finalize(self):
        """ Saves results from current model update iteration
        """
        system.checkpoint()

        if divides(optimize.iter, PAR.SAVEMODEL):
            self.save_model()

        if divides(optimize.iter, PAR.SAVEGRADIENT):
            self.save_gradient()

        if divides(optimize.iter, PAR.SAVEKERNELS):
            self.save_kernels()

        if divides(optimize.iter, PAR.SAVETRACES):
            self.save_traces()

        if divides(optimize.iter, PAR.SAVERESIDUALS):
            self.save_residuals()
    def finalize(self):
        """ Saves results from current model update iteration
        """
        self.checkpoint()

        if divides(optimize.iter, PAR.SAVEMODEL):
            self.save_model()

        if divides(optimize.iter, PAR.SAVEGRADIENT):
            self.save_gradient()

        if divides(optimize.iter, PAR.SAVEKERNELS):
            self.save_kernels()

        if divides(optimize.iter, PAR.SAVETRACES):
            self.save_traces()

        if divides(optimize.iter, PAR.SAVERESIDUALS):
            self.save_residuals()
示例#7
0
    def evaluate_gradient(self):
        """ Performs adjoint simulation to evaluate gradient
        """
        system.run('solver',
                   'eval_grad',
                   hosts='all',
                   path=PATH.GRAD,
                   export_traces=divides(optimize.iter, PAR.SAVETRACES))

        postprocess.write_gradient(path=PATH.GRAD)

        src = join(PATH.GRAD, 'gradient')
        dst = join(PATH.OPTIMIZE, 'g_new')
        savenpy(dst, solver.merge(solver.load(src, suffix='_kernel')))