code: def main(config="../config.yaml", namespace=""):
      if isinstance(config, str):
          config = test_utils.load_job_config(config)
      parties = config.parties
      guest = parties.guest[0]
      host = parties.host[0]
  
      pipeline = FateFlowPipeline().set_parties(guest=guest, host=host)
      if config.task_cores:
          pipeline.conf.set("task_cores", config.task_cores)
      if config.timeout:
          pipeline.conf.set("timeout", config.timeout)
  
      reader_0 = Reader("reader_0")
      reader_0.guest.task_parameters(
          namespace=f"experiment{namespace}", name="breast_hetero_guest"
      )
      reader_0.hosts[0].task_parameters(
          namespace=f"experiment{namespace}", name="breast_hetero_host"
      )
      psi_0 = PSI("psi_0", input_data=reader_0.outputs["output_data"])
  
      data_split_0 = DataSplit(
          "data_split_0",
          train_size=0.6,
          validate_size=0.1,
          input_data=psi_0.outputs["output_data"],
      )
  
      union_0 = Union(
          "union_0",
          input_data_list=[
              data_split_0.outputs["train_output_data"],
              data_split_0.outputs["test_output_data"],
          ],
      )
      pipeline.add_tasks([reader_0, psi_0, data_split_0, union_0])
  
      # pipeline.add_task(hetero_feature_binning_0)
      pipeline.compile()
      print(pipeline.get_dag())
      pipeline.fit()
  
imports: import argparse
  from fate_client.pipeline import FateFlowPipeline
  from fate_client.pipeline.components.fate import DataSplit, PSI, Union, Reader
  from fate_client.pipeline.utils import test_utils
label_desc: Use image node_id 1 for calling a global function with example usage: main(config, namespace) without return types