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)
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)
def forward_pass(self, _, X): return sigmoid(X)
#!/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)
#!/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)