class_docstr: ConvStrategyGenerator is a generic class to generate strategies.
  The operation data is defined as `output = input x other + bias`.
code: def split_1d_parallel_on_input_batch(self, mesh_dim_0, mesh_dim_1):
      name = f"S{mesh_dim_0}{mesh_dim_1}R = S{mesh_dim_0}{mesh_dim_1}R x RR"
  
      dim_partition_dict_mapping = {
          "input": {
              0: [mesh_dim_0, mesh_dim_1],
          },
          "other": {},
          "output": {
              0: [mesh_dim_0, mesh_dim_1],
          },
      }
  
      if self.has_bias:
          dim_partition_dict_mapping["bias"] = {}
  
      sharding_spec_mapping = self.to_sharding_spec_mapping(
          dim_partition_dict_mapping
      )
  
      communication_action_mapping = {}
      if self.is_param("other"):
          other_comm_action = self.get_communication_action(
              sharding_spec_mapping["other"],
              communication_pattern=CollectiveCommPattern.IDENTITY_FWD_ALLREDUCE_BWD,
              logical_process_axis=[mesh_dim_0, mesh_dim_1],
              comm_type=CommType.HOOK,
          )
      else:
          other_comm_action = self.get_communication_action(
              sharding_spec_mapping["other"],
              communication_pattern=CollectiveCommPattern.IDENTITY_FWD_ALLREDUCE_BWD,
              logical_process_axis=[mesh_dim_0, mesh_dim_1],
              comm_type=CommType.BEFORE,
              arg_index=1,
          )
  
      communication_action_mapping["other"] = other_comm_action
  
      if self.has_bias:
          if self.is_param("bias"):
              bias_comm_action = self.get_communication_action(
                  sharding_spec_mapping["bias"],
                  communication_pattern=CollectiveCommPattern.IDENTITY_FWD_ALLREDUCE_BWD,
                  logical_process_axis=[mesh_dim_0, mesh_dim_1],
                  comm_type=CommType.HOOK,
              )
          else:
              bias_comm_action = self.get_communication_action(
                  sharding_spec_mapping["bias"],
                  communication_pattern=CollectiveCommPattern.IDENTITY_FWD_ALLREDUCE_BWD,
                  logical_process_axis=[mesh_dim_0, mesh_dim_1],
                  comm_type=CommType.BEFORE,
                  key_for_kwarg="bias",
              )
          communication_action_mapping["bias"] = bias_comm_action
  
      return self.get_sharding_strategy(
          name=name,
          sharding_spec_mapping=sharding_spec_mapping,
          communication_action_mapping=communication_action_mapping,
      )
  
imports: import copy
  import operator
  from functools import reduce
  from typing import List
  from colossalai.auto_parallel.tensor_shard.sharding_strategy import CommType, MemoryCost, ShardingStrategy, TrainCycleItem
  from colossalai.auto_parallel.tensor_shard.utils import ignore_sharding_exception
  from colossalai.tensor.shape_consistency import CollectiveCommPattern
  from .strategy_generator import StrategyGenerator
label_desc: Use image node_id 11 for calling the ConvStrategyGenerator obj's underlying member method code with example usage: obj.split_1d_parallel_on_input_batch(mesh_dim_0, mesh_dim_1) and returns: self