nvmidl.apps.fed_learn package

Differentially private optimizers for TensorFlow.

DPAdagradGaussianOptimizer

alias of nvmidl.apps.fed_learn.fed_optimizer.make_gaussian_optimizer_class.<locals>.DPGaussianOptimizerClass

DPAdamGaussianOptimizer

alias of nvmidl.apps.fed_learn.fed_optimizer.make_gaussian_optimizer_class.<locals>.DPGaussianOptimizerClass

DPGradientDescentGaussianOptimizer

alias of nvmidl.apps.fed_learn.fed_optimizer.make_gaussian_optimizer_class.<locals>.DPGaussianOptimizerClass

DPMomentumOptimizer

alias of nvmidl.apps.fed_learn.fed_optimizer.make_gaussian_optimizer_class.<locals>.DPGaussianOptimizerClass

class DPOptimizer(**args)

Bases: ai4med.components.optimizers.optimizer.Optimizer

DP optimizer for large batch

accumulating num_microbatches, adding noise and update the model every num_microbatches steps.

get_optimizer(lr)

This is the required method that an optimizer component must implement.

Parameters

lr – the learning rate

Returns

optimizer function

make_gaussian_optimizer_class(cls)

Constructs a DP optimizer with Gaussian averaging of updates.

make_optimizer_class(cls)

Constructs a DP optimizer class from an existing one.

class CrossSiteValidationConfiger(mmar_root: str, wf_config_file_name=None, env_config_file_name=None, log_config_file_name=None, kv_list=None)

Bases: nvmidl.utils.train_conf.EvalConfiger

The cross validation configurer is similar to eval_configer with these notable changes

  • It doesn’t initialize inferer or evaluator.

  • A model loader can be passed to get an evaluator.

  • It uses config_cross_site_validation.json.

finalize_config(config_ctx: dlmed.utils.wfconf.ConfigContext)
get_evaluator()
process_config_element(config_ctx: dlmed.utils.wfconf.ConfigContext, node: dlmed.utils.json_scanner.Node)
class FLClientConfiger(mmar_root: str, wf_config_file_name=None, client_config_file_name=None, env_config_file_name=None, log_config_file_name=None, kv_list=None)

Bases: nvmidl.utils.train_conf.TrainConfiger

finalize_config(config_ctx: dlmed.utils.wfconf.ConfigContext)
process_first_pass(node: dlmed.utils.json_scanner.Node)
process_second_pass(node: dlmed.utils.json_scanner.Node)
start_config(config_ctx: dlmed.utils.wfconf.ConfigContext)
class FLServerConfiger(mmar_root: str, wf_config_file_name=None, server_config_file_name=None, env_config_file_name=None, log_config_file_name=None, kv_list=None)

Bases: nvmidl.utils.train_conf.TrainConfiger

build_nested(config_dict, mmar_root)
finalize_config(config_ctx: dlmed.utils.wfconf.ConfigContext)
process_first_pass(node: dlmed.utils.json_scanner.Node)
process_second_pass(node: dlmed.utils.json_scanner.Node)
start_config(config_ctx: dlmed.utils.wfconf.ConfigContext)

Testing connection to the server

run()

setup grpc channel

© Copyright 2020, NVIDIA. Last updated on Feb 2, 2023.