record_single(fc, (3, 1, 1, 10), "fc_golden_plain")
fc = K.layers.Dense(4)
record_single(fc, (1, 1, 1, 10), "fc_golden_single_batch")
-
-# inspect_file("fc_golden.nnlayergolden")
-
-
+ bn = K.layers.BatchNormalization()
+ record_single(bn, (2, 4, 2, 3), "bn_golden_channels_training", {"training": True})
+ ## @todo add test for inference
+ record_single(bn, (2, 4, 2, 3), "bn_golden_channels_inference", {"training": False})
+ bn = K.layers.BatchNormalization()
+ record_single(bn, (2, 10), "bn_golden_width_training", {"training": True})
+ record_single(bn, (2, 10), "bn_golden_width_inference", {"training": False})
+
+# inspect_file("bn_golden_width_training.nnlayergolden")
INSTANTIATE_TEST_CASE_P(BatchNormalization, LayerSemantics,
::testing::Values(semantic_bn));
+
+auto bn_basic_channels = LayerGoldenTestParamType(
+ nntrainer::createLayer<nntrainer::BatchNormalizationLayer>, {}, "2:4:2:3",
+ "bn_golden_channels_training.nnlayergolden");
+
+auto bn_basic_width = LayerGoldenTestParamType(
+ nntrainer::createLayer<nntrainer::BatchNormalizationLayer>, {}, "2:1:1:10",
+ "bn_golden_width_training.nnlayergolden");
+
+INSTANTIATE_TEST_CASE_P(BatchNormalization, LayerGoldenTest,
+ ::testing::Values(bn_basic_channels, bn_basic_width));