nebula.core.engine#

Classes#

Functions#

handle_exception(exc_type, exc_value, exc_traceback)

signal_handler(sig, frame)

print_banner()

Module Contents#

nebula.core.engine.handle_exception(exc_type, exc_value, exc_traceback)#
nebula.core.engine.signal_handler(sig, frame)#
nebula.core.engine.print_banner()#
class nebula.core.engine.Engine(model, dataset, config=Config, trainer=Lightning, security=False, model_poisoning=False, poisoned_ratio=0, noise_type='gaussian')#
config#
idx#
experiment_name#
ip#
port#
addr#
role#
name#
docker_id#
client#
round = None#
total_rounds = None#
federation_nodes#
initialized = False#
log_dir#
security#
model_poisoning#
poisoned_ratio#
noise_type#
msg#
with_reputation#
is_dynamic_topology#
is_dynamic_aggregation#
target_aggregation#
learning_cycle_lock#
federation_setup_lock#
federation_ready_lock#
round_lock#
property cm#
property reporter#
property event_manager#
property aggregator#
get_aggregator_type()#
property trainer#
get_addr()#
get_config()#
get_federation_nodes()#
get_initialization_status()#
set_initialization_status(status)#
get_round()#
get_federation_ready_lock()#
get_federation_setup_lock()#
get_round_lock()#
async create_trainer_module()#
async start_communications()#
async deploy_federation()#
reputation_calculation(aggregated_models_weights)#
async send_reputation(malicious_nodes)#
class nebula.core.engine.MaliciousNode(model, dataset, config=Config, trainer=Lightning, security=False, model_poisoning=False, poisoned_ratio=0, noise_type='gaussian')#

Bases: Engine

attack#
fit_time = 0.0#
extra_time = 0.0#
round_start_attack = 3#
round_stop_attack = 6#
aggregator_bening#
class nebula.core.engine.AggregatorNode(model, dataset, config=Config, trainer=Lightning, security=False, model_poisoning=False, poisoned_ratio=0, noise_type='gaussian')#

Bases: Engine

class nebula.core.engine.ServerNode(model, dataset, config=Config, trainer=Lightning, security=False, model_poisoning=False, poisoned_ratio=0, noise_type='gaussian')#

Bases: Engine

class nebula.core.engine.TrainerNode(model, dataset, config=Config, trainer=Lightning, security=False, model_poisoning=False, poisoned_ratio=0, noise_type='gaussian')#

Bases: Engine

class nebula.core.engine.IdleNode(model, dataset, config=Config, trainer=Lightning, security=False, model_poisoning=False, poisoned_ratio=0, noise_type='gaussian')#

Bases: Engine