Example #1
0
def hentenes_stiefel(old_g, new_g, delta_w, epsilon=1e-7):
    gradient_delta = new_g - old_g
    return safe_division(
        dot(gradient_delta, new_g),
        dot(delta_w, gradient_delta),
        epsilon,
    )
Example #2
0
    def test_safe_division(self):
        value = self.eval(qn.safe_division(2.0, 4.0, epsilon=1e-7))
        self.assertAlmostEqual(0.5, value)

        value = self.eval(qn.safe_division(1.0, 1e-8, epsilon=1e-7))
        self.assertAlmostEqual(1e7, value)
Example #3
0
def dai_yuan(old_g, new_g, delta_w, epsilon=1e-7):
    return safe_division(
        dot(new_g, new_g),
        dot(new_g - old_g, delta_w),
        epsilon,
    )
Example #4
0
def liu_storey(old_g, new_g, delta_w, epsilon=1e-7):
    return -safe_division(
        dot(new_g, new_g - old_g),
        dot(delta_w, old_g),
        epsilon,
    )
Example #5
0
def polak_ribiere(old_g, new_g, delta_w, epsilon=1e-7):
    return safe_division(
        dot(new_g, new_g - old_g),
        dot(old_g, old_g),
        epsilon,
    )
Example #6
0
def fletcher_reeves(old_g, new_g, delta_w, epsilon=1e-7):
    return safe_division(
        dot(new_g, new_g),
        dot(old_g, old_g),
        epsilon,
    )