class_docstr: This class implements the evaluation of Security Curves.
  
  Examples of Security Curves can be found in Figure 6 of Madry et al., 2017 (https://arxiv.org/abs/1706.06083).
class_docstr_tok: ["This","class","implements","the","evaluation","of","Security","Curves",".","Examples","of","Security","Curves","can","be","found","in","Figure","6","of","Madry","et","al.",",","2017","(","https",":","\/\/arxiv.org\/abs\/1706.06083",")","."]
docstr: Plot the Security Curve of adversarial accuracy as function opf attack budget `eps` together with the accuracy
  on benign samples.
docstr_tok: ["Plot","the","Security","Curve","of","adversarial","accuracy","as","function","opf","attack","budget","`","eps","`","together","with","the","accuracy","on","benign","samples","."]
code: def plot(self) -> None:  # pragma: no cover
      """
      Plot the Security Curve of adversarial accuracy as function opf attack budget `eps` together with the accuracy
      on benign samples.
      """
      from matplotlib import pyplot as plt
  
      plt.plot(
          self.eps_list,
          self.accuracy_adv_list,
          label="adversarial",
          marker="o",
      )
      plt.plot(
          [self.eps_list[0], self.eps_list[-1]],
          [self.accuracy, self.accuracy],
          linestyle="--",
          label="benign",
      )
      plt.legend()
      plt.xlabel("Attack budget eps")
      plt.ylabel("Accuracy")
      if self.detected_obfuscating_gradients:
          plt.title("Potential gradient obfuscation detected.")
      else:
          plt.title("No gradient obfuscation detected")
      plt.ylim([0, 1.05])
      plt.show()
  
file_path: adversarial-robustness-toolbox/art/evaluations/security_curve/security_curve.py
imports: from typing import List, Optional, Tuple, TYPE_CHECKING, Union
  import numpy
  from art.evaluations.evaluation import Evaluation
  from art.attacks.evasion.projected_gradient_descent.projected_gradient_descent import ProjectedGradientDescent
label_desc: Use image node_id 5 for calling the SecurityCurve obj's underlying member method code with example usage: obj.plot() without return types