class_docstr: Natural-evolutionary strategy for gradient estimation.
  For every backward pass, this module makes 2 * nb_samples
  queries per instance.
  
  :param func: A blackbox function.
      - This function must accept, and output, torch tensors.
  :param nb_samples: Number of samples to use in the grad estimation.
  :param fd_eta: Step-size used for the finite-difference estimation.
class_docstr_tok: ["Natural-evolutionary","strategy","for","gradient","estimation",".","For","every","backward","pass",",","this","module","makes","2","*","nb_samples","queries","per","instance",".",":","param","func",":","A","blackbox","function",".","-","This","function","must","accept",",","and","output",",","torch","tensors",".",":","param","nb_samples",":","Number","of","samples","to","use","in","the","grad","estimation",".",":","param","fd_eta",":","Step-size","used","for","the","finite-difference","estimation","."]
code: def __init__(self, func, nb_samples, fd_eta=1e-3):
      super().__init__(func)
      self.nb_samples = nb_samples
      self.fd_eta = fd_eta
  
file_path: advertorch/advertorch/attacks/blackbox/estimators.py
imports: import torch
  import numpy
label_desc: Use image node_id 1 to create a new NESWrapper object from inherited base classes: GradientWrapper with example: obj = NESWrapper(func, nb_samples, fd_eta)