code: def test_normalizer_backward() -> None:
      ref = p.Instrumentation(
          p.Array(shape=(1, 2)).set_bounds(-12, 12, method="arctan"),
          p.Array(shape=(2,)).set_bounds(
              -12, 12, full_range_sampling=False
          ),
          lr=p.Log(lower=0.001, upper=1000),
          stuff=p.Scalar(lower=-1, upper=2),
          unbounded=p.Scalar(lower=-1, init=0.0),
          value=p.Scalar(),
          letter=p.Choice("abc"),
      )
      # make sure the order is preserved using legacy split method
      expected = [x[1] for x in split_as_data_parameters(ref)]
      assert helpers.list_data(ref) == expected
      # check the bounds
      param = ref.spawn_child()
      scaler = helpers.Normalizer(
          param,
          only_sampling=True,
          unbounded_transform=trans.Affine(1, 0),
      )
      assert not scaler.fully_bounded
      # setting
      output = scaler.backward([1.0] * param.dimension)
      param.set_standardized_data(output)
      (array1, array2), values = param.value
      np.testing.assert_array_almost_equal(array1, [[12, 12]])
      np.testing.assert_array_almost_equal(array2, [1, 1])
      assert values["stuff"] == 2
      assert values["unbounded"] == 1
      assert values["value"] == 1
      assert values["lr"] == pytest.approx(1000)
      # again, on the middle point
      output = scaler.backward([0] * param.dimension)
      param.set_standardized_data(output)
      assert param.value[1]["lr"] == pytest.approx(1.0)
      assert param.value[1]["stuff"] == pytest.approx(0.5)
  
imports: import sys
  import time
  import random
  import itertools
  import contextlib
  import typing
  from pathlib import Path
  import numpy
  import pytest
  from nevergrad.common import testing
  from .None import transforms
  from .None import parameter
  from .None import utils
  from .None import helpers
label_desc: Use image node_id 9 for calling a global function with example usage: test_normalizer_backward() without return types