code: def _recursive_decompress(s):
      s = dict(luigi.DictParameter().parse(s))
      if "params" in s:
          s["params"] = TaskInstanceParameter._recursive_decompress(
              bz2.decompress(bytes.fromhex(s["params"])).decode()
          )
      return s
  
imports: import bz2
  import json
  from logging import getLogger
  import luigi
  from luigi import task_register
  import gokart
label_desc: Use image node_id 3 for calling the TaskInstanceParameter obj's underlying member method code with example usage: obj._recursive_decompress(s) and returns: s