class_docstr: Messenger to force the value of observed nodes to be sampled from their
  distribution, ignoring observations.
class_docstr_tok: ["Messenger","to","force","the","value","of","observed","nodes","to","be","sampled","from","their","distribution",",","ignoring","observations","."]
docstr: :param msg: current message at a trace site.
  
  Samples value from distribution, irrespective of whether or not the
  node has an observed value.
docstr_tok: [":","param","msg",":","current","message","at","a","trace","site",".","Samples","value","from","distribution",",","irrespective","of","whether","or","not","the","node","has","an","observed","value","."]
code: def _pyro_sample(self, msg: "Message") -> None:
      """
      :param msg: current message at a trace site.
  
      Samples value from distribution, irrespective of whether or not the
      node has an observed value.
      """
      if msg["is_observed"]:
          msg["is_observed"] = False
          assert msg["infer"] is not None
          msg["infer"]["was_observed"] = True
          msg["infer"]["obs"] = msg["value"]
          msg["value"] = None
          msg["done"] = False
  
imports: from typing import TYPE_CHECKING
  from pyro.poutine.messenger import Messenger
label_desc: Use image node_id 2 for calling the UnconditionMessenger obj's underlying member method code with example usage: obj._pyro_sample(msg) without return types