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')
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')
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()
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')))