def test_sigmoid_dx_gradient():
    epsilon = 1e-4
    for x in np.arange(-4, 4.5, 0.5):
        sl = sigmoid(x - epsilon)
        sr = sigmoid(x + epsilon)
        s_dx = (sr - sl) / (2 * epsilon)
        assert_almost_equal(sigmoid_dx(x), s_dx)
def test_sigmoid_dx_gradient():
    epsilon = 1e-4
    for x in np.arange(-4, 4.5, 0.5):
        sl = sigmoid(x-epsilon)
        sr = sigmoid(x+epsilon)
        s_dx = (sr - sl) / (2 * epsilon)
        assert_almost_equal(sigmoid_dx(x), s_dx)
Beispiel #3
0
 def forward_pass(self, theta, X, carry=None):
     W_in, W_r = self.unpackTheta(theta)
     X = np.atleast_2d(X)
     Y = np.zeros((X.shape[0], self.output_dim))
     if carry is None:
         carry = np.zeros((1, self.output_dim))
     for i, x in enumerate(X):
         carry = sigmoid(x.dot(W_in) + carry.dot(W_r))  # sigmoid
         Y[i] = carry
     return Y
Beispiel #4
0
 def forward_pass(self, theta, X, carry=None):
     W_in, W_r = self.unpackTheta(theta)
     X = np.atleast_2d(X)
     Y = np.zeros((X.shape[0], self.output_dim))
     if carry is None:
         carry = np.zeros((1, self.output_dim))
     for i, x in enumerate(X):
         carry = sigmoid(x.dot(W_in) + carry.dot(W_r))  # sigmoid
         Y[i] = carry
     return Y
def test_sigmoid_np_arrays():
    X = np.array(known_values.keys())
    Y = np.array(known_values.values())
    assert_almost_equal(sigmoid(X), Y)
def test_sigmoid_some_numbers():
    for x, y in known_values.items():
        assert_almost_equal(sigmoid(x), y)
Beispiel #7
0
 def forward_pass(self, _, X):
     return sigmoid(X)
def test_sigmoid_np_arrays():
    X = np.array(known_values.keys())
    Y = np.array(known_values.values())
    assert_almost_equal(sigmoid(X), Y)
def test_sigmoid_some_numbers():
    for x, y in known_values.items():
        assert_almost_equal(sigmoid(x), y)
Beispiel #10
0
#!/usr/bin/python
# coding: utf-8
from __future__ import division, unicode_literals, print_function
import numpy as np
from scipy.optimize import approx_fprime
from helpers import *
from neural_nets.connections import FullConnection, FullConnectionWithBias, SigmoidLayer, RecurrentConnection, ForwardAndRecurrentConnection, ForwardAndRecurrentSigmoidConnection

from neural_nets.fann import FANN
from neural_nets.functions import sigmoid

theta = np.array([[-1, 1, 0, 1]]).reshape(-1)
X = np.array([[0, 0, 0, 1], [1, 0, 0, 1], [0, 1, 0, 1], [0, 0, 1, 1],
              [1, 1, 0, 1]])
X_nb = X[:, :-1]  # no bias included
T = sigmoid(np.array([[1, 0, 2, 1, 1]]).T)
E = 0.5 * T**2


def test_FANN_dimensions():
    fc = FullConnection(5, 1)
    nn = FANN([fc])
    assert_equal(nn.input_size, 5)
    assert_equal(nn.output_size, 1)


def test_FANN_with_bias_dimensions():
    fc = FullConnectionWithBias(5, 1)
    nn = FANN([fc])
    assert_equal(nn.input_size, 5)
    assert_equal(nn.output_size, 1)
Beispiel #11
0
#!/usr/bin/python
# coding: utf-8
from __future__ import division, unicode_literals, print_function
import numpy as np
from scipy.optimize import approx_fprime
from helpers import *
from neural_nets.connections import FullConnection, FullConnectionWithBias, SigmoidLayer, RecurrentConnection, ForwardAndRecurrentConnection, ForwardAndRecurrentSigmoidConnection

from neural_nets.fann import FANN
from neural_nets.functions import sigmoid

theta = np.array([[-1, 1, 0, 1]]).reshape(-1)
X = np.array([[0, 0, 0, 1], [1, 0, 0, 1],[0, 1, 0, 1],[0, 0, 1, 1],[1, 1, 0, 1]])
X_nb = X[:,:-1] # no bias included
T = sigmoid(np.array([[1, 0, 2, 1, 1]]).T)
E = 0.5 * T**2

def test_FANN_dimensions():
    fc = FullConnection(5, 1)
    nn = FANN([fc])
    assert_equal(nn.input_size, 5)
    assert_equal(nn.output_size, 1)

def test_FANN_with_bias_dimensions():
    fc = FullConnectionWithBias(5, 1)
    nn = FANN([fc])
    assert_equal(nn.input_size, 5)
    assert_equal(nn.output_size, 1)

def test_FANN_feed_forward_single_sample():
    fc = FullConnection(4, 1)
Beispiel #12
0
 def forward_pass(self, _, X):
     return sigmoid(X)