code: def test_exposure_extrapolation(self):
      parameters = (4, 0, 1)
      perplexities = {
          "1": stats.skewnorm.rvs(*parameters, size=(2,)),
          "10": stats.skewnorm.rvs(*parameters, size=(5,)),
      }
      perplexities_reference = stats.skewnorm.rvs(
          *parameters, size=(10000,)
      )
      resulted_exposures = exposures.compute_exposure_extrapolation(
          perplexities, perplexities_reference
      )
      fitted_parameters = stats.skewnorm.fit(perplexities_reference)
  
      self.assertEqual(resulted_exposures.keys(), perplexities.keys())
      for r in resulted_exposures.keys():
          np.testing.assert_almost_equal(
              resulted_exposures[r],
              -np.log2(
                  stats.skewnorm.cdf(
                      perplexities[r], *fitted_parameters
                  )
              ),
          )
  
file_path: privacy/tensorflow_privacy/privacy/privacy_tests/secret_sharer/exposures_test.py
imports: from absl.testing import absltest
  import numpy
  from scipy import stats
  from tensorflow_privacy.privacy.privacy_tests.secret_sharer import exposures
label_desc: Use image node_id 3 for calling the UtilsTest obj's underlying member method code with example usage: obj.test_exposure_extrapolation() without return types