示例#1
0
    def test_exclude_classes_and_normalize_verify_distribution_and_exclude_dims(
        self, ) -> None:
        """Tests if non-distributions raise exceptions."""
        # Prepare
        distribution = np.ones((5, ), dtype=np.float32)
        exclude_dims = 4 * [False]

        # Execute
        with self.assertRaises(ValueError):
            exclude_classes_and_normalize(distribution, exclude_dims)
示例#2
0
    def test_exclude_classes_and_normalize_verify_dist_positive(self) -> None:
        """Tests if non-distributions raise exceptions."""
        # Prepare
        distribution = np.array([0.1, -0.1, 1.0], dtype=np.float32)
        exclude_dims = 3 * [False]

        # Execute
        with self.assertRaises(ValueError):
            exclude_classes_and_normalize(distribution,
                                          exclude_dims=exclude_dims)
示例#3
0
    def test_exclude_classes_and_normalize_positive_eps(self) -> None:
        """Tests if eps<0 raises exceptions."""
        # Prepare
        distribution = np.array([0.1, 0.1, 0.8], dtype=np.float32)
        exclude_dims = 3 * [False]

        # Execute
        with self.assertRaises(ValueError):
            exclude_classes_and_normalize(distribution,
                                          exclude_dims=exclude_dims,
                                          eps=-3)
示例#4
0
    def test_exclude_classes_and_normalize(self) -> None:
        """Tests if non-distributions raise exceptions."""
        # Prepare
        distribution = np.array([0.1, 0.7, 0.1, 0.05, 0.05], dtype=np.float32)
        exclude_dims = [False, True, False, False, False]
        expected = np.array([1.0 / 3, 0, 1.0 / 3, 1.0 / 6, 1.0 / 6],
                            dtype=np.float32)

        # Execute
        new_dist = exclude_classes_and_normalize(distribution, exclude_dims)

        # Assert
        np.testing.assert_array_almost_equal(expected, new_dist, decimal=4)