Name | asociita JSON |
Version |
0.3.4
JSON |
| download |
home_page | https://github.com/Scolpe/Asociita |
Summary | An intuitive and modular simulator for assessing the marginal value of a client's contribution in a decentralized setting. |
upload_time | 2023-08-08 12:11:12 |
maintainer | |
docs_url | None |
author | Maciej Zuziak |
requires_python | >=3.10,<4.0 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
### 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:
* `iterations` is the number of rounds to be performed. Example: `iterations:12`
* `number_of_nodes` is the number of nodes that will be included in the training. Example: `number_of_nodes: 10`
* `local_warm_start` allows to distribute various pre-trained weights to different local clients. Not implemeneted yet. Example: `local_warm_start: false`.
* `sample_size` is the size of the sample that will be taken each round. Example: `sample_size : 4.`
* `evaluation` allows to control the evaluation procedure across the clients. Currently, only `none` or `full` are supported. Setting the evaluation to full will perform a full evaluation of every client included in the training. Example: `evaluation: full`
* `save_metrics` allows to control whether the metrics should be saved in a csv file. Example: `save_metrics: true.`
* `save_models` allows to control whether the models should be saved. Not implemeneted yet. Example: `save_metrics: false`.
* `save_path` is the system path that will be used when saving the model. It is possible to define a saving_path in a method call.
* `nodes` is the list containing the ids of all the nodes participating in the training. Length of `nodes` must be equal `number_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.
* `optimizer` is an optimizer that will be used during the training. Example: `optimizer: "RMS"`
* `batch_size` is the batch size that will be used during the training. Example: `batch_size: 32`
* `learning_rate` is the learning rate that will be used during the training. Example: `learning_rate: 0.001`
Raw data
{
"_id": null,
"home_page": "https://github.com/Scolpe/Asociita",
"name": "asociita",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Maciej Zuziak",
"author_email": "maciejkrzysztof.zuziak@isti.cnr.it",
"download_url": "https://files.pythonhosted.org/packages/32/05/f1774b2f98c1f67c820b04048aed7fe27c4fde0517fbc34f942cd8f4ffa4/asociita-0.3.4.tar.gz",
"platform": null,
"description": "### Setting Configuration\n\nIn 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.\n\n```\n{\n \"orchestrator\":{\n \"iterations\": int,\n \"number_of_nodes\": int,\n \"local_warm_start\": bool,\n \"sample_size\": int,\n \"evaluation\": \"none\" | \"full\"\n \"save_metrics\": bool,\n\t\"save_models\": bool,\n\t\"save_path\": str\n\t\"nodes\": [0,\n\t1,\n\t2]\n },\n \"nodes\":{\n \"local_epochs\": int,\n \"model_settings\": {\n \"optimizer\": \"RMS\",\n \"batch_size\": int,\n \"learning_rate\": float}\n }\n}\n```\n\nThe `settings` contains two dictionaries: `orchestrator` and `nodes`.\n\n`orchestrator` contains all the settings necessary details of the training:\n\n* `iterations` is the number of rounds to be performed. Example: `iterations:12`\n* `number_of_nodes` is the number of nodes that will be included in the training. Example: `number_of_nodes: 10`\n* `local_warm_start` allows to distribute various pre-trained weights to different local clients. Not implemeneted yet. Example: `local_warm_start: false`.\n* `sample_size` is the size of the sample that will be taken each round. Example: `sample_size : 4.`\n* `evaluation` allows to control the evaluation procedure across the clients. Currently, only `none` or `full` are supported. Setting the evaluation to full will perform a full evaluation of every client included in the training. Example: `evaluation: full`\n* `save_metrics` allows to control whether the metrics should be saved in a csv file. Example: `save_metrics: true.`\n* `save_models` allows to control whether the models should be saved. Not implemeneted yet. Example: `save_metrics: false`.\n* `save_path` is the system path that will be used when saving the model. It is possible to define a saving_path in a method call.\n* `nodes` is the list containing the ids of all the nodes participating in the training. Length of `nodes` must be equal `number_of_nodes`.\n\n`nodes` contains all the necessary configuration for nodes.\n\n* `\"local_epochs\":` the number of local epochs to be performed on the local nodes.\n* `\"model_settings\"` is a dictionary containing all the parameters for training the model.\n * `optimizer` is an optimizer that will be used during the training. Example: `optimizer: \"RMS\"`\n * `batch_size` is the batch size that will be used during the training. Example: `batch_size: 32`\n * `learning_rate` is the learning rate that will be used during the training. Example: `learning_rate: 0.001`\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An intuitive and modular simulator for assessing the marginal value of a client's contribution in a decentralized setting.",
"version": "0.3.4",
"project_urls": {
"Homepage": "https://github.com/Scolpe/Asociita",
"Repository": "https://github.com/Scolpe/Asociita"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "98d063c8ce10e613cb7e5355aafe6e9d5f494c424fc2bbc36e69420deeffbfb9",
"md5": "b336fb64ee7e6cf5e6bbeaa065b1cbc2",
"sha256": "ab6014a7a9844960a18952bcb8c6f021019f7935ce0c67197618d78c9bf25478"
},
"downloads": -1,
"filename": "asociita-0.3.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b336fb64ee7e6cf5e6bbeaa065b1cbc2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 60182,
"upload_time": "2023-08-08T12:11:11",
"upload_time_iso_8601": "2023-08-08T12:11:11.166922Z",
"url": "https://files.pythonhosted.org/packages/98/d0/63c8ce10e613cb7e5355aafe6e9d5f494c424fc2bbc36e69420deeffbfb9/asociita-0.3.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3205f1774b2f98c1f67c820b04048aed7fe27c4fde0517fbc34f942cd8f4ffa4",
"md5": "7287582b46ae9aa2e4d2408f60069f90",
"sha256": "40df60c3204e8a734ac2f026f16d2e0ddaa0152c77678ebd12bc92ca26fc44e1"
},
"downloads": -1,
"filename": "asociita-0.3.4.tar.gz",
"has_sig": false,
"md5_digest": "7287582b46ae9aa2e4d2408f60069f90",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 91248,
"upload_time": "2023-08-08T12:11:12",
"upload_time_iso_8601": "2023-08-08T12:11:12.660243Z",
"url": "https://files.pythonhosted.org/packages/32/05/f1774b2f98c1f67c820b04048aed7fe27c4fde0517fbc34f942cd8f4ffa4/asociita-0.3.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-08 12:11:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Scolpe",
"github_project": "Asociita",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "asociita"
}