class_docstr: ConsistentDropout is useful when doing research.
  It guarantees that while the masks are the same between batches
  during inference. The masks are different inside the batch.
  
  This is slower than using regular Dropout, but it is useful
  when you want to use the same set of weights for each sample used in inference.
  
  From BatchBALD (Kirsch et al, 2019), this is necessary to use BatchBALD and remove noise
  from the prediction.
  
  Args:
      p (float): probability of an element to be zeroed. Default: 0.5
  
  Notes:
      For optimal results, you should use a batch size of one
      during inference time.
      Furthermore, to guarantee that each sample uses the same
      set of weights,
      you must use `replicate_in_memory=True` in ModelWrapper,
      which is the default.
class_docstr_tok: ["ConsistentDropout","is","useful","when","doing","research",".","It","guarantees","that","while","the","masks","are","the","same","between","batches","during","inference",".","The","masks","are","different","inside","the","batch",".","This","is","slower","than","using","regular","Dropout",",","but","it","is","useful","when","you","want","to","use","the","same","set","of","weights","for","each","sample","used","in","inference",".","From","BatchBALD","(","Kirsch","et","al",",","2019",")",",","this","is","necessary","to","use","BatchBALD","and","remove","noise","from","the","prediction",".","Args",":","p","(","float",")",":","probability","of","an","element","to","be","zeroed",".","Default",":","0.5","Notes",":","For","optimal","results",",","you","should","use","a","batch","size","of","one","during","inference","time",".","Furthermore",",","to","guarantee","that","each","sample","uses","the","same","set","of","weights",",","you","must","use","`","replicate_in_memory=True","`","in","ModelWrapper",",","which","is","the","default","."]
code: def eval(self):
      self.reset()
      return super().eval()
  
imports: import copy
  import warnings
  from typing import Optional
  import torch
  from torch import nn
  from torch.nn import functional
  from torch.nn.modules.dropout import _DropoutNd
  from baal.bayesian.common import replace_layers_in_module, _patching_wrapper, BayesianModule
label_desc: Use image node_id 5 for calling the ConsistentDropout obj's underlying member method code with example usage: obj.eval() and returns: super