nebula.core.network package#

Submodules#

nebula.core.network.communications module#

nebula.core.network.connection module#

nebula.core.network.discoverer module#

nebula.core.network.forwarder module#

class nebula.core.network.forwarder.Forwarder(config, cm)#

Bases: object

Parameters:

cm (CommunicationsManager)

async forward(msg, addr_from)#
async process_pending_messages(messages_left)#
async run_forwarder()#
async start()#

nebula.core.network.health module#

nebula.core.network.messages module#

nebula.core.network.propagator module#

class nebula.core.network.propagator.InitialModelPropagation(aggregator, trainer, engine)#

Bases: PropagationStrategy

Parameters:
get_round()#
is_node_eligible(node)#
Parameters:

node (str)

Return type:

bool

prepare_model_payload(node)#
Parameters:

node (str)

Return type:

Tuple[Any, List[str], float] | None

class nebula.core.network.propagator.PropagationStrategy#

Bases: ABC

abstract is_node_eligible(node)#
Parameters:

node (str)

Return type:

bool

abstract prepare_model_payload(node)#
Parameters:

node (str)

Return type:

Tuple[Any, List[str], float] | None

class nebula.core.network.propagator.Propagator(cm)#

Bases: object

Parameters:

cm (CommunicationsManager)

get_round()#
async propagate(strategy_id)#
Parameters:

strategy_id (str)

reset_status_history()#
start()#
update_and_check_neighbors(strategy, eligible_neighbors)#
class nebula.core.network.propagator.StableModelPropagation(aggregator, trainer, engine)#

Bases: PropagationStrategy

Parameters:
get_round()#
is_node_eligible(node)#
Parameters:

node (str)

Return type:

bool

prepare_model_payload(node)#
Parameters:

node (str)

Return type:

Tuple[Any, List[str], float] | None

Module contents#