<s> """<STR_LIT>""" <EOL> from unittest import TestCase <EOL> import numpy as np <EOL> import tempfile <EOL> import os <EOL> from hpelm import HPELM <EOL> from hpelm . modules . hdf5_tools import make_hdf5 <EOL> class TestCorrectness ( TestCase ) : <EOL> tfiles = None <EOL> def makeh5 ( self , data ) : <EOL> f , fname = tempfile . mkstemp ( ) <EOL> os . close ( f ) <EOL> self . tfiles . append ( fname ) <EOL> make_hdf5 ( data , fname ) <EOL> return fname <EOL> def makefile ( self ) : <EOL> f , fname = tempfile . mkstemp ( ) <EOL> os . close ( f ) <EOL> os . remove ( fname ) <EOL> self . tfiles . append ( fname ) <EOL> return fname <EOL> def setUp ( self ) : <EOL> self . tfiles = [ ] <EOL> def tearDown ( self ) : <EOL> for fname in self . tfiles : <EOL> os . remove ( fname ) <EOL> def test_NonNumpyInputs_RaiseError ( self ) : <EOL> X = np . array ( [ [ '<STR_LIT:1>' , '<STR_LIT:2>' ] , [ '<STR_LIT:3>' , '<STR_LIT:4>' ] , [ '<STR_LIT:5>' , '<STR_LIT>' ] ] ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertRaises ( AssertionError , hpelm . train , X , T ) <EOL> def test_NonNumpyTargets_RaiseError ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) ) <EOL> T = np . array ( [ [ '<STR_LIT:a>' ] , [ '<STR_LIT:b>' ] , [ '<STR_LIT:c>' ] ] ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertRaises ( AssertionError , hpelm . train , X , T ) <EOL> def test_OneDimensionInputs_RunsCorrectly ( self ) : <EOL> X = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T ) <EOL> def test_OneDimensionTargets_RunsCorrectly ( self ) : <EOL> X = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> T = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T ) <EOL> def test_WrongDimensionalityInputs_RaiseError ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertRaises ( AssertionError , hpelm . train , X , T ) <EOL> def test_WrongDimensionalityTargets_RaiseError ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:2> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertRaises ( AssertionError , hpelm . train , X , T ) <EOL> def test_ZeroInputs_RunsCorrectly ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T ) <EOL> def test_OneDimensionTargets2_RunsCorrectly ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:0> ] , [ <NUM_LIT:0> ] , [ <NUM_LIT:0> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T ) <EOL> def test_TrainWithoutNeurons_RaiseError ( self ) : <EOL> X = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> T = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> self . assertRaises ( AssertionError , hpelm . train , X , T ) <EOL> def test_DifferentNumberOfSamples_RaiseError ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> self . assertRaises ( AssertionError , hpelm . train , X , T ) <EOL> def test_LinearNeurons_MoreThanInputs_Truncated ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" ) <EOL> self . assertEqual ( <NUM_LIT:2> , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:0> ] ) <EOL> def test_LinearNeurons_DefaultMatrix_Identity ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:4> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" ) <EOL> np . testing . assert_array_almost_equal ( np . eye ( <NUM_LIT:4> , <NUM_LIT:3> ) , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:2> ] ) <EOL> def test_SLFN_AddLinearNeurons_GotThem ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertEquals ( "<STR_LIT>" , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:1> ] ) <EOL> def test_SLFN_AddSigmoidalNeurons_GotThem ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertEquals ( "<STR_LIT>" , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:1> ] ) <EOL> def test_SLFN_AddTanhNeurons_GotThem ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertEquals ( "<STR_LIT>" , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:1> ] ) <EOL> def test_SLFN_AddRbfL1Neurons_GotThem ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertEquals ( "<STR_LIT>" , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:1> ] ) <EOL> def test_SLFN_AddRbfL2Neurons_GotThem ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertEquals ( "<STR_LIT>" , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:1> ] ) <EOL> def test_SLFN_AddRbfLinfNeurons_GotThem ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertEquals ( "<STR_LIT>" , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:1> ] ) <EOL> def test_SLFN_AddUfuncNeurons_GotThem ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> func = np . frompyfunc ( lambda a : a + <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , func ) <EOL> self . assertIs ( func , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:1> ] ) <EOL> def test_SLFN_AddTwoNeuronTypes_GotThem ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertEquals ( <NUM_LIT:2> , len ( hpelm . nnet . get_neurons ( ) ) ) <EOL> ntypes = [ nr [ <NUM_LIT:1> ] for nr in hpelm . nnet . get_neurons ( ) ] <EOL> self . assertIn ( "<STR_LIT>" , ntypes ) <EOL> self . assertIn ( "<STR_LIT>" , ntypes ) <EOL> def test_SLFN_AddNeuronsTwice_GotThem ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> self . assertEquals ( <NUM_LIT:1> , len ( hpelm . nnet . get_neurons ( ) ) ) <EOL> self . assertEquals ( <NUM_LIT:2> , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:0> ] ) <EOL> def test_AddNeurons_InitBias_BiasInModel ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> bias = np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" , None , bias ) <EOL> neurons = hpelm . nnet . get_neurons ( ) <EOL> np . testing . assert_array_almost_equal ( bias , neurons [ <NUM_LIT:0> ] [ <NUM_LIT:3> ] ) <EOL> def test_AddNeurons_InitW_WInModel ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> W = np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , [ <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:6> ] ] ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" , W , None ) <EOL> np . testing . assert_array_almost_equal ( W , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:2> ] ) <EOL> def test_AddNeurons_InitDefault_BiasWNotZero ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" ) <EOL> W = hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:2> ] <EOL> bias = hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:3> ] <EOL> self . assertGreater ( np . sum ( np . abs ( W ) ) , <NUM_LIT> ) <EOL> self . assertGreater ( np . sum ( np . abs ( bias ) ) , <NUM_LIT> ) <EOL> def test_AddNeurons_InitTwiceBiasW_CorrectlyMerged ( self ) : <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> W1 = np . random . rand ( <NUM_LIT:2> , <NUM_LIT:3> ) <EOL> W2 = np . random . rand ( <NUM_LIT:2> , <NUM_LIT:4> ) <EOL> bias1 = np . random . rand ( <NUM_LIT:3> , ) <EOL> bias2 = np . random . rand ( <NUM_LIT:4> , ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" , W1 , bias1 ) <EOL> hpelm . add_neurons ( <NUM_LIT:4> , "<STR_LIT>" , W2 , bias2 ) <EOL> np . testing . assert_array_almost_equal ( np . hstack ( ( W1 , W2 ) ) , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:2> ] ) <EOL> np . testing . assert_array_almost_equal ( np . hstack ( ( bias1 , bias2 ) ) , hpelm . nnet . get_neurons ( ) [ <NUM_LIT:0> ] [ <NUM_LIT:3> ] ) <EOL> def test_TrainIstart_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T , istart = <NUM_LIT:1> ) <EOL> def test_TrainIcount_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T , icount = <NUM_LIT:2> ) <EOL> def test_TrainIstart_HasEffect ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:3> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T ) <EOL> B1 = hpelm . nnet . get_B ( ) <EOL> hpelm . train ( X , T , istart = <NUM_LIT:1> ) <EOL> B2 = hpelm . nnet . get_B ( ) <EOL> self . assertFalse ( np . allclose ( B1 , B2 ) , "<STR_LIT>" ) <EOL> def test_TrainIcount_HasEffect ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:3> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T ) <EOL> B1 = hpelm . nnet . get_B ( ) <EOL> hpelm . train ( X , T , icount = <NUM_LIT:2> ) <EOL> B2 = hpelm . nnet . get_B ( ) <EOL> self . assertFalse ( np . allclose ( B1 , B2 ) , "<STR_LIT>" ) <EOL> def test_TrainAsync_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train_async ( X , T ) <EOL> def test_TrainAsyncWeighted_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:2> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train_async ( X , T , '<STR_LIT>' , wc = ( <NUM_LIT:1> , <NUM_LIT:2> ) ) <EOL> def test_TrainAsyncIndexed_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] , [ <NUM_LIT:7> , <NUM_LIT:8> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] , [ <NUM_LIT:4> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train_async ( X , T , istart = <NUM_LIT:1> , icount = <NUM_LIT:2> ) <EOL> def test_WeightedClassification_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:2> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T , '<STR_LIT>' , w = ( <NUM_LIT:1> , <NUM_LIT:1> ) ) <EOL> def test_WeightedClassification_DefaultWeightsWork ( self ) : <EOL> X = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:2> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T , '<STR_LIT>' ) <EOL> def test_HPELM_tprint ( self ) : <EOL> X = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:2> , batch = <NUM_LIT:2> , tprint = <NUM_LIT:0> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T ) <EOL> def test_AddDataToFile_SingleAddition ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] , [ <NUM_LIT:7> , <NUM_LIT:8> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] , [ <NUM_LIT:4> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" ) <EOL> fHH = self . makefile ( ) <EOL> fHT = self . makefile ( ) <EOL> hpelm . add_data ( X , T , fHH = fHH , fHT = fHT ) <EOL> def test_AddDataToFile_MultipleAdditions ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] , [ <NUM_LIT:7> , <NUM_LIT:8> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] , [ <NUM_LIT:4> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" ) <EOL> fHH = self . makefile ( ) <EOL> fHT = self . makefile ( ) <EOL> hpelm . add_data ( X , T , fHH = fHH , fHT = fHT ) <EOL> hpelm . add_data ( X , T , fHH = fHH , fHT = fHT ) <EOL> def test_AddDataAsyncToFile_SingleAddition ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] , [ <NUM_LIT:7> , <NUM_LIT:8> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] , [ <NUM_LIT:4> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" ) <EOL> fHH = self . makefile ( ) <EOL> fHT = self . makefile ( ) <EOL> hpelm . add_data_async ( X , T , fHH = fHH , fHT = fHT ) <EOL> def test_AddDataAsyncToFile_MultipleAdditions ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] , [ <NUM_LIT:7> , <NUM_LIT:8> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] , [ <NUM_LIT:4> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" ) <EOL> fHH = self . makefile ( ) <EOL> fHT = self . makefile ( ) <EOL> hpelm . add_data_async ( X , T , fHH = fHH , fHT = fHT ) <EOL> hpelm . add_data_async ( X , T , fHH = fHH , fHT = fHT ) <EOL> def test_AddDataToFile_MixedSequentialAsync ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] , [ <NUM_LIT:7> , <NUM_LIT:8> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] , [ <NUM_LIT:4> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" ) <EOL> fHH = self . makefile ( ) <EOL> fHT = self . makefile ( ) <EOL> hpelm . add_data ( X , T , fHH = fHH , fHT = fHT ) <EOL> hpelm . add_data_async ( X , T , fHH = fHH , fHT = fHT ) <EOL> def test_SolveCorr_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] , [ <NUM_LIT:7> , <NUM_LIT:8> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] , [ <NUM_LIT:4> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:3> , "<STR_LIT>" ) <EOL> fHH = self . makefile ( ) <EOL> fHT = self . makefile ( ) <EOL> hpelm . add_data ( X , T , fHH = fHH , fHT = fHT ) <EOL> hpelm . solve_corr ( fHH , fHT ) <EOL> self . assertIsNot ( hpelm . nnet . get_B ( ) , None ) <EOL> def test_ValidationCorr_Works ( self ) : <EOL> X = self . makeh5 ( np . random . rand ( <NUM_LIT:30> , <NUM_LIT:3> ) ) <EOL> T = self . makeh5 ( np . random . rand ( <NUM_LIT:30> , <NUM_LIT:2> ) ) <EOL> hpelm = HPELM ( <NUM_LIT:3> , <NUM_LIT:2> , norm = <NUM_LIT> ) <EOL> hpelm . add_neurons ( <NUM_LIT:6> , "<STR_LIT>" ) <EOL> fHH = self . makefile ( ) <EOL> fHT = self . makefile ( ) <EOL> hpelm . add_data ( X , T , fHH = fHH , fHT = fHT ) <EOL> nns , err , confs = hpelm . validation_corr ( fHH , fHT , X , T , steps = <NUM_LIT:3> ) <EOL> self . assertGreater ( err [ <NUM_LIT:0> ] , err [ - <NUM_LIT:1> ] ) <EOL> def test_ValidationCorr_ReturnsConfusion ( self ) : <EOL> X = self . makeh5 ( np . random . rand ( <NUM_LIT:10> , <NUM_LIT:3> ) ) <EOL> T = self . makeh5 ( np . random . rand ( <NUM_LIT:10> , <NUM_LIT:2> ) ) <EOL> hpelm = HPELM ( <NUM_LIT:3> , <NUM_LIT:2> , classification = "<STR_LIT:c>" ) <EOL> hpelm . add_neurons ( <NUM_LIT:6> , "<STR_LIT>" ) <EOL> fHH = self . makefile ( ) <EOL> fHT = self . makefile ( ) <EOL> hpelm . add_data ( X , T , fHH = fHH , fHT = fHT ) <EOL> _ , _ , confs = hpelm . validation_corr ( fHH , fHT , X , T , steps = <NUM_LIT:3> ) <EOL> self . assertGreater ( np . sum ( confs [ <NUM_LIT:0> ] ) , <NUM_LIT:1> ) <EOL> def test_Predict_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] , [ <NUM_LIT:7> , <NUM_LIT:8> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] , [ <NUM_LIT:4> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T ) <EOL> fY = self . makefile ( ) <EOL> hpelm . predict ( X , fY ) <EOL> def test_PredictAsync_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] , [ <NUM_LIT:7> , <NUM_LIT:8> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] , [ <NUM_LIT:4> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T ) <EOL> fY = self . makefile ( ) <EOL> hpelm . predict_async ( X , fY ) <EOL> def test_Project_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] , [ <NUM_LIT:5> , <NUM_LIT:6> ] , [ <NUM_LIT:7> , <NUM_LIT:8> ] ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:2> ] , [ <NUM_LIT:3> ] , [ <NUM_LIT:4> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T ) <EOL> fH = self . makefile ( ) <EOL> hpelm . project ( X , fH ) <EOL> def test_RegressionError_Works ( self ) : <EOL> T = np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) <EOL> Y = np . array ( [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ) <EOL> err1 = np . mean ( ( T - Y ) ** <NUM_LIT:2> ) <EOL> fT = self . makeh5 ( T ) <EOL> fY = self . makeh5 ( Y ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> e = hpelm . error ( fT , fY ) <EOL> np . testing . assert_allclose ( e , err1 ) <EOL> def test_ClassificationError_Works ( self ) : <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ) ) <EOL> Y = self . makeh5 ( np . array ( [ [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT> , <NUM_LIT> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:2> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . classification = "<STR_LIT:c>" <EOL> e = hpelm . error ( T , Y ) <EOL> np . testing . assert_allclose ( e , <NUM_LIT:1.0> / <NUM_LIT:3> ) <EOL> def test_WeightedClassError_Works ( self ) : <EOL> X = self . makeh5 ( np . array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] ) ) <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ) ) <EOL> Y = self . makeh5 ( np . array ( [ [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT> , <NUM_LIT> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] ] ) ) <EOL> w = ( <NUM_LIT:9> , <NUM_LIT:1> ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:2> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . train ( X , T , "<STR_LIT>" , w = w ) <EOL> e = hpelm . error ( T , Y ) <EOL> np . testing . assert_allclose ( e , <NUM_LIT> ) <EOL> def test_MultiLabelClassError_Works ( self ) : <EOL> T = self . makeh5 ( np . array ( [ [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:1> , <NUM_LIT:1> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ) ) <EOL> Y = self . makeh5 ( np . array ( [ [ <NUM_LIT> , <NUM_LIT> ] , [ <NUM_LIT> , <NUM_LIT> ] , [ <NUM_LIT:1> , <NUM_LIT:1> ] ] ) ) <EOL> hpelm = HPELM ( <NUM_LIT:1> , <NUM_LIT:2> ) <EOL> hpelm . add_neurons ( <NUM_LIT:1> , "<STR_LIT>" ) <EOL> hpelm . classification = "<STR_LIT>" <EOL> e = hpelm . error ( T , Y ) <EOL> np . testing . assert_allclose ( e , <NUM_LIT:1.0> / <NUM_LIT:6> ) </s>
