From 2fa2972bb60bb9b81f6b658f84bae3dce3964e7f Mon Sep 17 00:00:00 2001 From: kartikdutt18 Date: Fri, 2 Oct 2020 21:55:53 +0530 Subject: [PATCH] Fix static issues --- src/mlpack/tests/ann_layer_test.cpp | 179 ++++++++++++---------------- 1 file changed, 79 insertions(+), 100 deletions(-) diff --git a/src/mlpack/tests/ann_layer_test.cpp b/src/mlpack/tests/ann_layer_test.cpp index f728496f55..c362542e8c 100644 --- a/src/mlpack/tests/ann_layer_test.cpp +++ b/src/mlpack/tests/ann_layer_test.cpp @@ -87,11 +87,10 @@ TEST_CASE("GradientAddLayerTest", "[ANNLayerTest]") // Add function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 1)), + target(arma::mat("1")) { - input = arma::randu(10, 1); - target = arma::mat("1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -416,11 +415,10 @@ TEST_CASE("GradientLinearLayerTest", "[ANNLayerTest]") // Linear function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 1)), + target(arma::mat("1")) { - input = arma::randu(10, 1); - target = arma::mat("1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -508,13 +506,12 @@ TEST_CASE("GradientLinear3DLayerTest", "[ANNLayerTest]") // Linear function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + inSize(4), + outSize(1), + nPoints(2), + batchSize(4) { - const size_t inSize = 4; - const size_t outSize = 1; - const size_t nPoints = 2; - const size_t batchSize = 4; - input = arma::randu(inSize * nPoints, batchSize); target = arma::zeros(outSize * nPoints, batchSize); target(0, 0) = 1; @@ -545,6 +542,10 @@ TEST_CASE("GradientLinear3DLayerTest", "[ANNLayerTest]") FFN, RandomInitialization>* model; arma::mat input, target; + const size_t inSize; + const size_t outSize; + const size_t nPoints; + const size_t batchSize; } function; REQUIRE(CheckGradient(function) <= 1e-7); @@ -591,11 +592,10 @@ TEST_CASE("GradientNoisyLinearLayerTest", "[ANNLayerTest]") // Noisy linear function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 1)), + target(arma::mat("1")) { - input = arma::randu(10, 1); - target = arma::mat("1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -695,11 +695,10 @@ TEST_CASE("GradientLinearNoBiasLayerTest", "[ANNLayerTest]") // LinearNoBias function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 1)), + target(arma::mat("1")) { - input = arma::randu(10, 1); - target = arma::mat("1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -797,11 +796,10 @@ TEST_CASE("GradientFlexibleReLULayerTest", "[ANNLayerTest]") // Add function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(2, 1)), + target(arma::mat("1")) { - input = arma::randu(2, 1); - target = arma::mat("1"); - model = new FFN, RandomInitialization>( NegativeLogLikelihood<>(), RandomInitialization(0.1, 0.5)); @@ -1017,10 +1015,10 @@ TEST_CASE("GradientLSTMLayerTest", "[ANNLayerTest]") // LSTM function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(1, 1, 5)), + target(arma::ones(1, 1, 5)) { - input = arma::randu(1, 1, 5); - target.ones(1, 1, 5); const size_t rho = 5; model = new RNN >(rho); @@ -1122,10 +1120,10 @@ TEST_CASE("GradientFastLSTMLayerTest", "[ANNLayerTest]") // Fast LSTM function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(1, 1, 5)), + target(arma::ones(1, 1, 5)) { - input = arma::randu(1, 1, 5); - target = arma::ones(1, 1, 5); const size_t rho = 5; model = new RNN >(rho); @@ -1391,10 +1389,10 @@ TEST_CASE("GradientGRULayerTest", "[ANNLayerTest]") // GRU function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(1, 1, 5)), + target(arma::ones(1, 1, 5)) { - input = arma::randu(1, 1, 5); - target = arma::ones(1, 1, 5); const size_t rho = 5; model = new RNN >(rho); @@ -1631,11 +1629,10 @@ TEST_CASE("GradientConcatLayerTest", "[ANNLayerTest]") // Concat function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 1)), + target(arma::mat("1")) { - input = arma::randu(10, 1); - target = arma::mat("1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -1700,11 +1697,10 @@ TEST_CASE("GradientConcatenateLayerTest", "[ANNLayerTest]") // Concatenate function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 1)), + target(arma::mat("1")) { - input = arma::randu(10, 1); - target = arma::mat("1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -1905,11 +1901,10 @@ TEST_CASE("GradientSoftmaxTest", "[ANNLayerTest]") // Softmax function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 1)), + target(arma::mat("1; 0")) { - input = arma::randu(10, 1); - target = arma::mat("1; 0"); - model = new FFN, RandomInitialization>; model->Predictors() = input; model->Responses() = target; @@ -2109,12 +2104,10 @@ TEST_CASE("GradientBatchNormTest", "[ANNLayerTest]") // Add function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randn(32, 2048)), + target(arma::ones(1, 2048)) { - input = arma::randn(32, 2048); - arma::mat target; - target.ones(1, 2048); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -2184,12 +2177,11 @@ TEST_CASE("GradientVirtualBatchNormTest", "[ANNLayerTest]") // Add function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randn(5, 256)), + target(arma::ones(1, 256)) { - input = arma::randn(5, 256); arma::mat referenceBatch = arma::mat(input.memptr(), input.n_rows, 16); - arma::mat target; - target.ones(1, 256); model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; @@ -2247,12 +2239,10 @@ TEST_CASE("MiniBatchDiscriminationTest", "[ANNLayerTest]") // Add function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randn(5, 4)), + target(arma::ones(1, 4)) { - input = arma::randn(5, 4); - arma::mat target; - target.ones(1, 4); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -2427,11 +2417,10 @@ TEST_CASE("GradientTransposedConvolutionLayerTest", "[ANNLayerTest]") { struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::linspace(0, 35, 36)), + target(arma::mat("1")) { - input = arma::linspace(0, 35, 36); - target = arma::mat("1"); - model = new FFN, RandomInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -2544,11 +2533,10 @@ TEST_CASE("GradientAtrousConvolutionLayerTest", "[ANNLayerTest]") // Add function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::linspace(0, 35, 36)), + target(arma::mat("1")) { - input = arma::linspace(0, 35, 36); - target = arma::mat("1"); - model = new FFN, RandomInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -2575,7 +2563,7 @@ TEST_CASE("GradientAtrousConvolutionLayerTest", "[ANNLayerTest]") arma::mat input, target; } function; - // TODO: this tolerance seems far higher than necessary. The implementation + // TODO: this tolerance seems far higher than necessary. The implementation // should be checked. REQUIRE(CheckGradient(function) <= 0.2); } @@ -2726,12 +2714,10 @@ TEST_CASE("GradientLayerNormTest", "[ANNLayerTest]") // Add function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randn(10, 256)), + target(arma::ones(1, 256)) { - input = arma::randn(10, 256); - arma::mat target; - target.ones(1, 256); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -3048,11 +3034,10 @@ TEST_CASE("GradientReparametrizationLayerTest", "[ANNLayerTest]") // Linear function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 1)), + target(arma::mat("1")) { - input = arma::randu(10, 1); - target = arma::mat("1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -3092,11 +3077,10 @@ TEST_CASE("GradientReparametrizationLayerBetaTest", "[ANNLayerTest]") // Linear function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 2)), + target(arma::mat("1 1")) { - input = arma::randu(10, 2); - target = arma::mat("1 1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -3248,11 +3232,10 @@ TEST_CASE("GradientHighwayLayerTest", "[ANNLayerTest]") // Linear function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(5, 1)), + target(arma::mat("1")) { - input = arma::randu(5, 1); - target = arma::mat("1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -3300,11 +3283,10 @@ TEST_CASE("GradientSequentialLayerTest", "[ANNLayerTest]") // Linear function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 1)), + target(arma::mat("1")) { - input = arma::randu(10, 1); - target = arma::mat("1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -3351,11 +3333,10 @@ TEST_CASE("GradientWeightNormLayerTest", "[ANNLayerTest]") // Linear function gradient instantiation. struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randu(10, 1)), + target(arma::mat("1")) { - input = arma::randu(10, 1); - target = arma::mat("1"); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target; @@ -4185,12 +4166,10 @@ TEST_CASE("GradientBatchNormWithMiniBatchesTest", "[ANNLayerTest]") { struct GradientFunction { - GradientFunction() + GradientFunction() : + input(arma::randn(16, 1024)), + target(arma::ones(1, 1024)) { - input = arma::randn(16, 1024); - arma::mat target; - target.ones(1, 1024); - model = new FFN, NguyenWidrowInitialization>(); model->Predictors() = input; model->Responses() = target;