code: def keras_op_to_relay(
      inexpr, keras_layer, outname, etab, data_layout
  ):
      """Convert a Keras layer to a Relay expression and update the expression table.
  
      Parameters
      ----------
      inexpr : relay.expr.Expr or a list of it
          The input Relay expression(s).
  
      keras_layer : keras.layers
          The Keras layer to be converted.
  
      outname : str
          Name of the output Relay expression.
  
      etab : relay.frontend.common.ExprTable
          The global expression table to be updated.
  
      data_layout : str
          The input data layout
      """
      op_name = type(keras_layer).__name__
      if op_name not in _convert_map:
          raise tvm.error.OpNotImplemented(
              f"Operator {op_name} is not supported for frontend Keras."
          )
      outs = _convert_map[op_name](
          inexpr, keras_layer, etab, data_layout
      )
      outs = _as_list(outs)
      for t_idx, out in enumerate(outs):
          name = outname + ":" + str(t_idx)
          etab.set_expr(name, out)
      return outs
  
imports: import dis
  import sys
  import numpy
  import tvm
  from tvm.ir import IRModule, TensorType, TupleType
  from ..None import analysis
  from ..None import expr
  from ..None import function
  from ..None import op
  from ...None import nd
  from .common import ExprTable, new_var
label_desc: Use image node_id 37 for calling a global function with example usage: keras_op_to_relay(inexpr, keras_layer, outname, etab, data_layout) and returns: outs