code: def _print_fn(op, xin):
      for attr in op.attrs:
          temp = getattr(xin, attr)
          if callable(temp):
              pmsg = temp()
          else:
              pmsg = temp
          print(op.message, attr, "=", pmsg)
  
imports: from __future__ import absolute_import, print_function, division
  from copy import copy
  import logging
  import os
  import sys
  import hashlib
  import numpy
  from six import string_types, integer_types, iteritems
  from six.moves import StringIO, reduce
  import theano
  from theano import gof
  from theano import config
  from theano.gof import Op, Apply
  from theano.compile import Function, debugmode, SharedVariable
label_desc: Use image node_id 2 for calling a global function with example usage: _print_fn(op, xin) without return types