code: def dp_strategies(self) -> List[ShardingStrategy]:
      strategies = []
  
      # S01R = S01R x RR
      strategies.append(self.split_lhs_1st_dim_1d(0, 1))
  
      return strategies
  
imports: import operator
  from functools import reduce
  from typing import List
  from colossalai.auto_parallel.tensor_shard.options import SolverPerference
  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 3 for calling the LinearProjectionStrategyGenerator obj's underlying member method code with example usage: obj.dp_strategies() and returns: strategies