def test_FANN_converges_on_xor_problem(): fc0 = FullConnectionWithBias(2, 2) fc1 = FullConnectionWithBias(2, 1) sig0 = SigmoidLayer(2) sig1 = SigmoidLayer(1) nn = FANN([fc0, sig0, fc1, sig1]) xor = load_xor() theta = np.random.randn(nn.get_param_dim()) for i in range(2000): g = nn.calculate_gradient(theta, xor.data, xor.target) theta -= g * 1 error = nn.calculate_error(theta, xor.data, xor.target) assert_less(error, 0.4)
def test_load_xor_wellformed() : xor_problem = load_xor() assert_dataset_wellformed(xor_problem)