docstr: :param callable fn: A function that inputs two args ``x, y``, where
      ``y=self(x)``, and returns ``log(abs(det(dy/dx)))``.
docstr_tok: [":","param","callable","fn",":","A","function","that","inputs","two","args","``","x",",","y","``",",","where","``","y=self","(","x",")","``",",","and","returns","``","log","(","abs","(","det","(","dy\/dx",")",")",")","``","."]
code: def set_log_abs_det_jacobian(self, fn):
      """
      :param callable fn: A function that inputs two args ``x, y``, where
          ``y=self(x)``, and returns ``log(abs(det(dy/dx)))``.
      """
      assert callable(fn)
      self.log_abs_det_jacobian = fn
      return fn
  
imports: import contextlib
  import functools
  import inspect
  import weakref
  from collections import OrderedDict
  from funsor.registry import PartialDispatcher
  from funsor.util import methodof
label_desc: Use image node_id 2 for calling the TransformOp obj's underlying member method code with example usage: obj.set_log_abs_det_jacobian(fn) and returns: fn