code: def test_dp_sgd_privacy_statement_user_dp_with_pld(self):
      statement = (
          compute_dp_sgd_privacy_lib.compute_dp_sgd_privacy_statement(
              **DP_SGD_STATEMENT_KWARGS,
              max_examples_per_user=3,
              accountant_type=_PLD,
          )
      )
      expected_statement = """\
  DP-SGD performed over 10000 examples with 64 examples per iteration, noise
  multiplier 2.0 for 5.0 epochs with microbatching, and at most 3 examples per
  user.
  
  This privacy guarantee protects the release of all model checkpoints in addition
  to the final model.
  
  Example-level DP with add-or-remove-one adjacency at delta = 1e-06 computed with
  PLD accounting:
      Epsilon with each example occurring once per epoch:        12.595
      Epsilon assuming Poisson sampling (*):                      1.199
  
  User-level DP epsilon computation is not supported for PLD accounting at this
  time. Use RDP accounting to obtain user-level DP guarantees.
  
  (*) Poisson sampling is not usually done in training pipelines, but assuming
  that the data was randomly shuffled, it is believed that the actual epsilon
  should be closer to this value than the conservative assumption of an arbitrary
  data order.
  """
      self.assertEqual(statement, expected_statement)
  
file_path: privacy/tensorflow_privacy/privacy/analysis/compute_dp_sgd_privacy_test.py
imports: import math
  from absl.testing import absltest
  from absl.testing import parameterized
  from tensorflow_privacy.privacy.analysis import compute_dp_sgd_privacy_lib
label_desc: Use image node_id 11 for calling the ComputeDpSgdPrivacyTest obj's underlying member method code with example usage: obj.test_dp_sgd_privacy_statement_user_dp_with_pld() without return types