code: def _test_small(self, gpu):
      en = empirical_normalization.EmpiricalNormalization(10)
      if gpu >= 0:
          device = "cuda:{}".format(gpu)
          en.to(device)
      else:
          device = "cpu"
  
      xs = []
      for t in range(10):
          x = np.random.normal(loc=4, scale=2, size=(t + 3, 10))
          en(torch.tensor(x, device=device))
          xs.extend(list(x))
      xs = np.stack(xs)
      true_mean = np.mean(xs, axis=0)
      true_std = np.std(xs, axis=0)
      np.testing.assert_allclose(
          en.mean.cpu().numpy(), true_mean, rtol=1e-4
      )
      np.testing.assert_allclose(
          en.std.cpu().numpy(), true_std, rtol=1e-4
      )
  
file_path: pfrl/tests/nn_tests/test_empirical_normalization.py
imports: import unittest
  import numpy
  import pytest
  import torch
  from pfrl.nn import empirical_normalization
label_desc: Use image node_id 3 for calling the TestEmpiricalNormalization obj's underlying member method code with example usage: obj._test_small(gpu) without return types