def test_clever_l2_no_target_sorted(self):
        batch_size = 100
        (x_train, y_train), (x_test, _), _, _ = load_mnist()

        # Get the classifier
        krc = self._create_krclassifier()
        krc.fit(x_train,
                y_train,
                batch_size=batch_size,
                nb_epochs=2,
                verbose=0)

        scores = clever(krc,
                        x_test[0],
                        5,
                        5,
                        3,
                        2,
                        target=None,
                        target_sort=True,
                        c_init=1,
                        pool_factor=10)
        logger.info("Clever scores for n-1 classes: %s %s", str(scores),
                    str(scores.shape))
        # Should approx. be in decreasing value
        self.assertEqual(scores.shape, (krc.nb_classes - 1, ))
    def test_clever_l2_same_target(self):
        batch_size = 100
        (x_train, y_train), (x_test, _), _, _ = load_mnist()

        # Get the classifier
        krc = self._create_krclassifier()
        krc.fit(x_train,
                y_train,
                batch_size=batch_size,
                nb_epochs=2,
                verbose=0)

        scores = clever(
            krc,
            x_test[0],
            5,
            5,
            3,
            2,
            target=np.argmax(krc.predict(x_test[:1])),
            c_init=1,
            pool_factor=10,
            verbose=False,
        )
        self.assertIsNone(
            scores[0],
            msg="Clever scores for the predicted class should be `None`.")
    def test_clever_l2_no_target(self):
        batch_size = 100
        (x_train, y_train), (x_test, _), _, _ = load_mnist()

        # Get the classifier
        krc = self._create_krclassifier()
        krc.fit(x_train, y_train, batch_size=batch_size, nb_epochs=2)

        scores = clever(krc,
                        x_test[0],
                        5,
                        5,
                        3,
                        2,
                        target=None,
                        c_init=1,
                        pool_factor=10)
        logger.info("Clever scores for n-1 classes: %s %s", str(scores),
                    str(scores.shape))
        self.assertEqual(scores.shape, (krc.nb_classes() - 1, ))