import tensorflow as tf

        train_inputs = tf.random_uniform((train_batch_size, height, width, 3))
        mobilenet_v1.mobilenet_v1(train_inputs, num_classes)
        eval_inputs = tf.random_uniform((eval_batch_size, height, width, 3))
        logits, _ = mobilenet_v1.mobilenet_v1(eval_inputs, num_classes,
                                              reuse=True)
        predictions = tf.argmax(logits, 1)

        with self.test_session() as sess:
            sess.run(tf.global_variables_initializer())
            output = sess.run(predictions)
            self.assertEqual(output.shape, (eval_batch_size,))

    def testLogitsNotSqueezed(self):
        num_classes = 25
        images = tf.random_uniform([1, 224, 224, 3])
        logits, _ = mobilenet_v1.mobilenet_v1(images,
                                              num_classes=num_classes,
                                              spatial_squeeze=False)

        with self.test_session() as sess:
            tf.global_variables_initializer().run()
            logits_out = sess.run(logits)
            self.assertListEqual(list(logits_out.shape), [1, 1, 1, num_classes])

    def testBatchNormScopeDoesNotHaveIsTrainingWhenItsSetToNone(self):
        sc = mobilenet_v1.mobilenet_v1_arg_scope(is_training=None)
        self.assertNotIn('is_training', sc[slim.arg_scope_func_key(
            slim.batch_norm)])
