import tensorflow as tf

        self.assertItemsEqual(endpoints_shapes.keys(),
                              explicit_padding_end_points.keys())
        for endpoint_name, expected_shape in endpoints_shapes.items():
            self.assertTrue(endpoint_name in explicit_padding_end_points)
            self.assertListEqual(
                explicit_padding_end_points[endpoint_name].get_shape().as_list(),
                expected_shape)

    def testModelHasExpectedNumberOfParameters(self):
        batch_size = 5
        height, width = 224, 224
        inputs = tf.random_uniform((batch_size, height, width, 3))
        with slim.arg_scope([slim.conv2d, slim.separable_conv2d],
                            normalizer_fn=slim.batch_norm):
            mobilenet_v1.mobilenet_v1_base(inputs)
            total_params, _ = slim.model_analyzer.analyze_vars(
                slim.get_model_variables())
            self.assertAlmostEqual(3217920, total_params)

    def testBuildEndPointsWithDepthMultiplierLessThanOne(self):
        batch_size = 5
        height, width = 224, 224
