class_docstr: StrategiesConstructor is used to construct the parallelization plan for the model execution.
  
  Args:
      graph (Graph): a Graph object used for analysis and strategy generation.
      device_mesh (DeviceMesh): a DeviceMesh object which contains the meta information about the cluster.
      solver_options (SolverOptions): a SolverOptions object which specifies the preferences for plan searching.
class_docstr_tok: ["StrategiesConstructor","is","used","to","construct","the","parallelization","plan","for","the","model","execution",".","Args",":","graph","(","Graph",")",":","a","Graph","object","used","for","analysis","and","strategy","generation",".","device_mesh","(","DeviceMesh",")",":","a","DeviceMesh","object","which","contains","the","meta","information","about","the","cluster",".","solver_options","(","SolverOptions",")",":","a","SolverOptions","object","which","specifies","the","preferences","for","plan","searching","."]
code: def __init__(
      self,
      graph: Graph,
      device_mesh: DeviceMesh,
      solver_options: SolverOptions,
  ):
      self.graph = graph
      assert (
          graph.owning_module is not None
      ), "The given graph is not associated with a owning_module"
      self.root_module = self.graph.owning_module
      self.nodes = list(graph.nodes)
      self.device_mesh = device_mesh
      self.leaf_strategies = []
      self.strategy_map = {}
      self.solver_options = solver_options
      self.no_strategy_nodes = []
      self.alias_set = None
  
file_path: ColossalAI/colossalai/auto_parallel/tensor_shard/solver/strategies_constructor.py
imports: import torch
  from torch.fx import Graph
  from colossalai.auto_parallel.tensor_shard.node_handler import GetattrHandler, OutputHandler, PlaceholderHandler, operator_registry
  from colossalai.auto_parallel.tensor_shard.sharding_strategy import StrategiesVector
  from colossalai.auto_parallel.tensor_shard.utils.factory import find_repeat_blocks
  from colossalai.device.device_mesh import DeviceMesh
  from ..options import DataloaderOption, SolverOptions
label_desc: Use image node_id 1 to create a new StrategiesConstructor object  with example: obj = StrategiesConstructor(graph, device_mesh, solver_options)