An intuitive and modular simulator for assessing the marginal value of a client's contribution in a decentralized setting.
Project description
Setting Configuration
In order to run the simulation, the Orchestrator instance must receive a settings object that contains all the necessary parameters. It is possible to store those parameters in a JSON format and load them as the Python dictionary by using asociita.utils.helper.load_from_json function. Below is an exemplary settings object embedded as a json file. All the elements are necessary unless stated otherwise.
{
"orchestrator":{
"iterations": int,
"number_of_nodes": int,
"local_warm_start": bool,
"sample_size": int,
"evaluation": "none" | "full"
"save_metrics": bool,
"save_models": bool,
"save_path": str
"nodes": [0,
1,
2]
},
"nodes":{
"local_epochs": int,
"model_settings": {
"optimizer": "RMS",
"batch_size": int,
"learning_rate": float}
}
}
The settings contains two dictionaries: orchestrator and nodes.
orchestrator contains all the settings necessary details of the training:
iterationsis the number of rounds to be performed. Example:iterations:12number_of_nodesis the number of nodes that will be included in the training. Example:number_of_nodes: 10local_warm_startallows to distribute various pre-trained weights to different local clients. Not implemeneted yet. Example:local_warm_start: false.sample_sizeis the size of the sample that will be taken each round. Example:sample_size : 4.evaluationallows to control the evaluation procedure across the clients. Currently, onlynoneorfullare supported. Setting the evaluation to full will perform a full evaluation of every client included in the training. Example:evaluation: fullsave_metricsallows to control whether the metrics should be saved in a csv file. Example:save_metrics: true.save_modelsallows to control whether the models should be saved. Not implemeneted yet. Example:save_metrics: false.save_pathis the system path that will be used when saving the model. It is possible to define a saving_path in a method call.nodesis the list containing the ids of all the nodes participating in the training. Length ofnodesmust be equalnumber_of_nodes.
nodes contains all the necessary configuration for nodes.
"local_epochs":the number of local epochs to be performed on the local nodes."model_settings"is a dictionary containing all the parameters for training the model.optimizeris an optimizer that will be used during the training. Example:optimizer: "RMS"batch_sizeis the batch size that will be used during the training. Example:batch_size: 32learning_rateis the learning rate that will be used during the training. Example:learning_rate: 0.001
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file asociita-0.3.4.tar.gz.
File metadata
- Download URL: asociita-0.3.4.tar.gz
- Upload date:
- Size: 91.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.0 CPython/3.10.11 Linux/5.19.0-50-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40df60c3204e8a734ac2f026f16d2e0ddaa0152c77678ebd12bc92ca26fc44e1
|
|
| MD5 |
7287582b46ae9aa2e4d2408f60069f90
|
|
| BLAKE2b-256 |
3205f1774b2f98c1f67c820b04048aed7fe27c4fde0517fbc34f942cd8f4ffa4
|
File details
Details for the file asociita-0.3.4-py3-none-any.whl.
File metadata
- Download URL: asociita-0.3.4-py3-none-any.whl
- Upload date:
- Size: 60.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.0 CPython/3.10.11 Linux/5.19.0-50-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab6014a7a9844960a18952bcb8c6f021019f7935ce0c67197618d78c9bf25478
|
|
| MD5 |
b336fb64ee7e6cf5e6bbeaa065b1cbc2
|
|
| BLAKE2b-256 |
98d063c8ce10e613cb7e5355aafe6e9d5f494c424fc2bbc36e69420deeffbfb9
|