code: def expand_tf_lstm_block_cell(op):
      if op.op_type != "tf_lstm_block_cell":
          raise ValueError()
  
      with op.enclosing_block as block:
          x = op.x  # [b, input_dim]
          h_prev = op.h_prev  # [b, hidden_dim]
          cs_prev = op.c_prev  # [b, hidden_dim]
  
          i, cs, f, o, ci, co, h = _lstm_cell_builder(
              op, x, h_prev, cs_prev, before_op=op
          )
  
          # Replace all outputs
          new_outputs = [i, cs, f, o, ci, co, h]
          for old_v, new_v in zip(op.outputs, new_outputs):
              block.replace_uses_of_var_after_op(
                  anchor_op=op, old_var=old_v, new_var=new_v
              )
          block.remove_ops([op])
  
file_path: turicreate/src/external/coremltools_wrap/coremltools/coremltools/converters/mil/frontend/tensorflow/ssa_passes/expand_tf_lstm.py
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  from coremltools.converters.mil.mil.passes.pass_registry import register_pass
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import types
  import numpy
  import logging
label_desc: Use image node_id 4 for calling a global function with example usage: expand_tf_lstm_block_cell(op) without return types