code: def run_client(load_model, data_path):
      init_fl_context(2)
      df_train = pd.read_csv(data_path)
      df_train["ID"] = df_train["ID"].astype(str)
      psi = PSI()
      intersection = psi.get_intersection(list(df_train["ID"]))
      df_train = df_train[df_train["ID"].isin(intersection)]
  
      df_x = df_train.drop("ID", 1)
      x = df_x.to_numpy(dtype="float32")
      y = None
  
      loss_fn = tf.keras.losses.BinaryCrossentropy()
  
      if load_model:
          model = tf.keras.models.load_model(
              "/tmp/tensorflow_client_model_2.pt"
          )
          ppl = Estimator.from_keras(
              client_model=model,
              loss_fn=loss_fn,
              optimizer_cls=tf.keras.optimizers.SGD,
              optimizer_args={"learning_rate": 1e-4},
              client_model_path="/tmp/tensorflow_client_model_2.pt",
          )
          response = ppl.fit(x, y, 5)
      else:
          model = build_client_model(4)
          ppl = Estimator.from_keras(
              client_model=model,
              loss_fn=loss_fn,
              optimizer_cls=tf.keras.optimizers.SGD,
              optimizer_args={"learning_rate": 1e-4},
              client_model_path="/tmp/tensorflow_client_model_2.pt",
          )
          response = ppl.fit(x, y, 5)
      result = ppl.predict(x)
      print(result[:5])
  
file_path: BigDL/python/ppml/example/tensorflow_nn_lr/tensorflow_nn_lr_2.py
imports: import logging
  import numpy
  import pandas
  import click
  import tensorflow
  from tensorflow import Tensor
  from tensorflow.keras.layers import Dense
  from tensorflow.keras import Model, Input
  from bigdl.ppml.fl.estimator import Estimator
  from bigdl.ppml.fl.nn.fl_context import init_fl_context
  from bigdl.ppml.fl.psi.psi_client import PSI
label_desc: Use image node_id 2 for calling a global function with example usage: run_client(load_model, data_path) without return types