|
import easydict |
|
import numpy |
|
import pytest |
|
|
|
from ding.utils.normalizer_helper import DatasetNormalizer |
|
|
|
|
|
|
|
@pytest.mark.tmp |
|
class TestNormalizerHelper: |
|
|
|
def test_normalizer(self): |
|
x = numpy.random.randn(10) |
|
mean = x.mean() |
|
std = x.std() |
|
mins = x.min() |
|
maxs = x.max() |
|
normalizer = DatasetNormalizer({'test': x}, 'GaussianNormalizer', 10) |
|
test = numpy.random.randn(1) |
|
normal_test = normalizer.normalize(test, 'test') |
|
unnormal_test = normalizer.unnormalize(normal_test, 'test') |
|
assert unnormal_test == test |
|
assert normal_test == (test - mean) / std |
|
|
|
normalizer = DatasetNormalizer({'test': x}, 'LimitsNormalizer', 10) |
|
test = numpy.random.randn(1) |
|
normal_test1 = (test - mins) / (maxs - mins) |
|
normal_test1 = 2 * normal_test1 - 1 |
|
normal_test = normalizer.normalize(test, 'test') |
|
unnormal_test = normalizer.unnormalize(normal_test, 'test') |
|
assert unnormal_test == test |
|
assert normal_test == normal_test1 |
|
|
|
normalizer = DatasetNormalizer({'test': x}, 'CDFNormalizer', 10) |
|
test = numpy.random.randn(1) |
|
normal_test = normalizer.normalize(test, 'test') |
|
unnormal_test = normalizer.unnormalize(normal_test, 'test') |
|
assert unnormal_test == test |
|
|