code: def get_infer_layout(task_name):
      if task_name.startswith("conv2d"):
          return topi.nn.conv2d_infer_layout
      if task_name.startswith("depthwise_conv2d"):
          return topi.nn.depthwise_conv2d_infer_layout
      raise ValueError(f"Cannot find infer layout for task {task_name}")
  
imports: import logging
  from abc import abstractmethod
  import numpy
  from tvm import topi
  import tvm
  from tvm import te
  from tvm import autotvm, relay
  from tvm.autotvm.task import get_config
  from tvm.autotvm.record import encode, load_from_file
  from tvm.autotvm.measure import MeasureResult, MeasureInput
  from tvm.target import Target
  from ...target import Target
  from .utils import is_boundary_node, get_in_nodes, get_out_nodes, has_multiple_inputs, bind_inputs, expr2graph
  from ._base import INVALID_LAYOUT_TIME
  from ._base import OPT_OUT_OP
label_desc: Use image node_id 1 for calling a global function with example usage: get_infer_layout(task_name) and returns: topi, topi