asociita


Nameasociita JSON
Version 0.3.4 PyPI version JSON
download
home_pagehttps://github.com/Scolpe/Asociita
SummaryAn intuitive and modular simulator for assessing the marginal value of a client's contribution in a decentralized setting.
upload_time2023-08-08 12:11:12
maintainer
docs_urlNone
authorMaciej Zuziak
requires_python>=3.10,<4.0
licenseMIT
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"
}
        
Elapsed time: 0.13455s