nvflare.app_common.app_constant module

class AlgorithmConstants[source]

Bases: object

SCAFFOLD_CTRL_AGGREGATOR_ID = 'scaffold_ctrl_aggregator'
SCAFFOLD_CTRL_DIFF = 'scaffold_c_diff'
SCAFFOLD_CTRL_GLOBAL = 'scaffold_c_global'
class AppConstants[source]

Bases: object

AGGREGATION_ACCEPTED = '_aggregation_accepted'
AGGREGATION_RESULT = '_aggregation_result'
AGGREGATION_TRIGGERED = '_aggregation_triggered'
CKPT_PRELOAD_PATH = 'ckpt_preload_path'
CLIENT_UNKNOWN = 'unknown'
CONFIG_PATH = 'config_path'
CONTRIBUTION_CLIENT = 'contribution_client'
CONTRIBUTION_ROUND = 'contribution_round'
CROSS_VAL_CLIENT_MODEL = '_cross_val_client_model_'
CROSS_VAL_DIR = 'cross_site_val'
CROSS_VAL_MODEL_DIR_NAME = 'model_shareables'
CROSS_VAL_MODEL_PATH = '_cross_val_model_path_'
CROSS_VAL_RESULTS_DIR_NAME = 'result_shareables'
CROSS_VAL_RESULTS_PATH = '_cross_val_results_path_'
CROSS_VAL_SERVER_MODEL = '_cross_val_server_model_'
CURRENT_LEARNING_RATE = 'current_learning_rate'
CURRENT_ROUND = 'current_round'
DATA_CLIENT = '_data_client_'
DEFAULT_AGGREGATOR_ID = 'aggregator'
DEFAULT_FORMATTER_ID = 'formatter'
DEFAULT_MODEL_DIR = 'models'
DEFAULT_MODEL_LOCATOR_ID = 'model_locator'
DEFAULT_PERSISTOR_ID = 'persistor'
DEFAULT_SHAREABLE_GENERATOR_ID = 'shareable_generator'
DEVICE = 'device'
DXO = 'DXO'
FAILURE = 'failure'
GLOBAL_MODEL = 'global_model'
INITIAL_LEARNING_RATE = 'initial_learning_rate'
IS_BEST = 'is_best'
IS_FIRST_ROUND = 'is_first_round'
LOCAL_EPOCHS = 'local_epochs'
LOG_DIR = 'model_log_dir'
META_DATA = 'meta_data'
MODEL_LOAD_PATH = '_model_load_path'
MODEL_NAME = 'model_name'
MODEL_NETWORK = 'model_network'
MODEL_OWNER = '_model_owner_'
MODEL_SAVE_PATH = '_model_save_path'
MODEL_TO_VALIDATE = '_model_to_validate_'
MODEL_URL = 'model_url'
MODEL_WEIGHTS = '_model_weights_'
MULTI_GPU = 'multi_gpu'
MY_RANK = 'my_rank'
NUMBER_OF_GPUS = 'number_of_gpus'
NUM_EPOCHS_CURRENT_ROUND = 'num_epochs_current_round'
NUM_ROUNDS = 'num_rounds'
NUM_TOTAL_EPOCHS = 'num_total_epochs'
NUM_TOTAL_STEPS = 'num_total_steps'
PARTICIPATING_CLIENTS = '_particpating_clients_'
PHASE = '_phase_'
PHASE_FINISHED = '_finished_'
PHASE_INIT = '_init_'
PHASE_MODEL_VALIDATION = 'model_validation'
PHASE_TRAIN = 'train'
RECEIVED_MODEL = '_receive_model_'
RECEIVED_MODEL_OWNER = '_receive_model_owner_'
ROUND = '_round_'
START_ROUND = 'start_round'
STATUS_DONE = '_done_'
STATUS_IDLE = '_idle_'
STATUS_TRAINING = '_training_'
STATUS_WAIT = '_wait_'
SUBMIT_MODEL_FAILURE_REASON = '_submit_model_failure_reason'
SUBMIT_MODEL_NAME = 'submit_model_name'
TASK_CONFIGURE = 'configure'
TASK_END_RUN = '_end_run_'
TASK_GET_WEIGHTS = 'get_weights'
TASK_PROP_CALLBACK = '_task_callback_'
TASK_SUBMIT_MODEL = 'submit_model'
TASK_TRAIN = 'train'
TASK_VALIDATION = 'validate'
TRAINING_RESULT = '_training_result_'
TRAIN_CONTEXT = 'train_context'
TRAIN_SHAREABLE = '_train_shareable_'
VALIDATE_TYPE = '_validate_type'
VALIDATION_RESULT = '_validation_result_'
WAIT_AFTER_MIN_CLIENTS = 'wait_after_min_clients'
class DefaultCheckpointFileName[source]

Bases: object

BEST_GLOBAL_MODEL = 'best_FL_global_model.pt'
GLOBAL_MODEL = 'FL_global_model.pt'
class EnvironmentKey[source]

Bases: object

CHECKPOINT_DIR = 'APP_CKPT_DIR'
CHECKPOINT_FILE_NAME = 'APP_CKPT'
class ExecutorTasks[source]

Bases: object

CROSS_VALIDATION = '__cross_validation'
REPORT_STATUS = 'report_status'
SUBMIT_BEST = '__submit_best'
TRAIN = 'train'
VALIDATE = 'validate'
class ModelFormat[source]

Bases: object

KERAS = 'keras_model'
PT_CHECKPOINT = 'pt_checkpoint'
PT_ONNX = 'pt_onnx'
TF_CHECKPOINT = 'tf_checkpoint'
TORCH_SCRIPT = 'torch_script'
class ModelName[source]

Bases: object

BEST_MODEL = 'best_model'
FINAL_MODEL = 'final_model'
class PSIConst[source]

Bases: AppConstants

BACKWARD = 'PSI_BACKWARD'
BLOOM_FILTER_FPR = 'PSI_BLOOM_FILTER_FPR'
DIRECTION_KEY = 'PSI_DIRECTION_KEY'
FORWARD = 'PSI_FORWARD'
ITEMS_SIZE = 'PSI_ITEMS_SIZE'
ITEMS_SIZE_SET = 'PSI_ITEMS_SIZE_SET'
REQUEST_MSG = 'PSI_REQUEST_MSG'
REQUEST_MSG_SET = 'PSI_REQUEST_MSG_SET'
RESPONSE_MSG = 'PSI_RESPONSE_MSG'
SETUP_MSG = 'PSI_SETUP_MSG'
TASK = 'PSI'
TASK_INTERSECT = 'PSI_TASK_INTERSECT'
TASK_KEY = 'PSI_TASK_KEY'
TASK_PREPARE = 'PSI_PREPARE'
TASK_REQUEST = 'PSI_REQUEST'
TASK_RESPONSE = 'PSI_RESPONSE'
TASK_SETUP = 'PSI_SETUP'
class StatisticsConstants[source]

Bases: AppConstants

FED_STATS_PRE_RUN = 'fed_stats_pre_run'
FED_STATS_TASK = 'fed_stats'
GLOBAL = 'Global'
PRE_RUN_RESULT = 'fed_stats_pre_run_result'
STATISTICS_TASK_KEY = 'fed_stats_task_key'
STATS_1st_STATISTICS = 'fed_stats_1st_statistics'
STATS_2nd_STATISTICS = 'fed_stats_2nd_statistics'
STATS_BINS = 'bins'
STATS_BIN_RANGE = 'range'
STATS_COUNT = 'count'
STATS_FAILURE_COUNT = 'failure_count'
STATS_FEATURES = 'stats_features'
STATS_GLOBAL_COUNT = 'global_count'
STATS_GLOBAL_MEAN = 'global_mean'
STATS_HISTOGRAM = 'histogram'
STATS_MAX = 'max'
STATS_MEAN = 'mean'
STATS_MIN = 'min'
STATS_STDDEV = 'stddev'
STATS_SUM = 'sum'
STATS_TARGET_STATISTICS = 'statistics'
STATS_VAR = 'var'
ordered_statistics = {'fed_stats_1st_statistics': ['count', 'failure_count', 'sum', 'mean', 'min', 'max'], 'fed_stats_2nd_statistics': ['histogram', 'var', 'stddev']}
class ValidateType[source]

Bases: object

BEFORE_TRAIN_VALIDATE = 'before_train_validate'
MODEL_VALIDATE = 'model_validate'