Exemplo n.º 1
0
def test_neuron_forward():
    a = variable.Variables(1.0)
    b = variable.Variables(2.0)
    c = variable.Variables(-3.0)
    x = variable.Variables(-1.0)
    y = variable.Variables(3.0)

    ax = Arithmetic.Multiply(a, x)
    by = Arithmetic.Multiply(b, y)
    axpby = Arithmetic.Add(ax, by)
    axpbypc = Arithmetic.Add(axpby, c)
    s = sigmoid.Sigmoid(axpbypc)

    assert round(s.forward(), 4) == 0.8808
Exemplo n.º 2
0
def test_neuron_backward():
    a = variable.Variables(1.0)
    b = variable.Variables(2.0)
    c = variable.Variables(-3.0)
    x = variable.Variables(-1.0)
    y = variable.Variables(3.0)

    ax = Arithmetic.Multiply(a, x)
    by = Arithmetic.Multiply(b, y)
    axpby = Arithmetic.Add(ax, by)
    axpbypc = Arithmetic.Add(axpby, c)
    s = sigmoid.Sigmoid(axpbypc)

    s.backward(1)

    assert round(a.get_grad(), 3) == -0.105
    assert round(b.get_grad(), 3) == 0.315
    assert round(c.get_grad(), 3) == 0.105
    assert round(x.get_grad(), 3) == 0.105
    assert round(y.get_grad(), 3) == 0.210
Exemplo n.º 3
0
def test_accessing_grad_simple_backward2():
    test_var_1 = variable.Variables(100)
    test_var_2 = constant.Constant(10)

    add_both_var = Arithmetic.Multiply(test_var_1, test_var_2)

    # Initalize with grad = 1 to start the backpropagation....
    add_both_var.backward(1)

    var_grad_1 = test_var_1.get_grad()
    assert var_grad_1 == 10
Exemplo n.º 4
0
def test_multi():
    test_var = variable.Variables(100)
    test_constant = constant.Constant(35)

    test_add = Arithmetic.Multiply(test_var, test_constant)
    assert test_add.forward() == 100 * 35
Exemplo n.º 5
0
from AutoDiff.scalarCalculation.visualize import visualize

from AutoDiff.scalarCalculation.values import variable, constant
from AutoDiff.scalarCalculation.operators import Arithmetic, sigmoid, square

a = variable.Variables(1.0, name="Variable1")
b = variable.Variables(2.0, name="Variable2")
c = variable.Variables(-3.0, name="Variable3")
x = variable.Variables(-1.0, name="Variable4")
y = variable.Variables(3.0, name="Variable5")

ax = Arithmetic.Multiply(a, x, name="Multiply1")
by = Arithmetic.Multiply(b, y, name="Multiply2")
axpby = Arithmetic.Add(ax, by, name="add1")
axpbypc = Arithmetic.Add(axpby, c, name="add2")
s = sigmoid.Sigmoid(axpbypc)

# test_var_1 = variable.Variables(100, name="test_var_1")
# test_var_2 = variable.Variables(10, name="test_var_2")
#
# add_both_var = Arithmetic.Add(test_var_1, test_var_2)

visualize.plot_graph(s)