code: def generate_config(args):
      """Generate Proto For PSlib"""
      config = dict()
      config["use_cvm"] = True
      config["trainer"] = "PSGPUTrainer"
      config["worker_class"] = "PSGPUWorker"
      config["use_ps_gpu"] = True
      # embedding name as key name
      # Id Embedding
      gen_config = gen_sparse_config
  
      slot_feature_lr = args.sparse_lr
      if "slot_feature_lr" in args:
          slot_feature_lr = args.slot_feature_lr
      if (
          "train_storage_mode" in args
          and args.train_storage_mode == "SSD_EMBEDDING"
      ):
          sparse_table_class = "DownpourSparseSSDTable"
      else:
          sparse_table_class = "DownpourSparseTable"
      config["embedding"] = gen_config(
          args,
          args.sparse_lr,
          args.init_range,
          args.sparse_type,
          args.emb_size,
          slot_feature_lr,
          args.nodeid_slot,
          args.load_filter_slots,
          sparse_table_class,
      )
  
      dense_config = dict()
      dense_config["dense_table_class"] = "DownpourDenseTable"
      dense_config["dense_compress_in_save"] = True
      dense_config[
          "dense_accessor_class"
      ] = "DownpourDenseValueAccessor"
      dense_config["dense_learning_rate"] = args.dense_lr
      dense_config["dense_optimizer"] = "adam"
      dense_config["dense_avg_decay"] = 0.999993
      dense_config["dense_ada_decay"] = 0.9999
      dense_config["dense_ada_epsilon"] = 1e-8
      dense_config["dense_mom_decay"] = 0.99
      dense_config["dense_naive_lr"] = 0.0002
      # 'dense_table' as key name
      config["dense_table"] = dense_config
  
      datanorm_config = dict()
      datanorm_config["datanorm_table_class"] = "DownpourDenseTable"
      datanorm_config["datanorm_compress_in_save"] = True
      datanorm_config[
          "datanorm_accessor_class"
      ] = "DownpourDenseValueAccessor"
      datanorm_config["datanorm_operation"] = "summary"
      datanorm_config["datanorm_decay_rate"] = 0.999999
      config["datanorm_table"] = datanorm_config
  
      return config
  
file_path: PGL/apps/PGLBox/src/config_fleet.py
imports: import os
  import copy
  import numpy
  import paddle
  from pgl.utils.logger import log
label_desc: Use image node_id 3 for calling a global function with example usage: generate_config(args) and returns: config