Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs/SK-953 | README fix for async-clients example #676

Merged
merged 2 commits into from
Aug 24, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,77 +1,85 @@
# ASYNC CLIENTS
ASYNC CLIENTS
-------------

This example shows how to experiment with intermittent and asynchronous client workflows.

## Prerequisites
Prerequisites
-------------

- [Python 3.8, 3.9 or 3.10](https://www.python.org/downloads)
- [Docker](https://docs.docker.com/get-docker)
- [Docker Compose](https://docs.docker.com/compose/install)

## Running the example (pseudo-distributed, single host)
Running the example (pseudo-distributed, single host)
-----------------------------------------------------


First, make sure that FEDn is installed (we recommend using a virtual environment)

Clone FEDn
```sh
git clone https://github.com/scaleoutsystems/fedn.git
```

.. code-block::

git clone https://github.com/scaleoutsystems/fedn.git

Install FEDn and dependencies

``
pip install fedn
```
.. code-block::

Or from source, standing in the folder 'fedn/fedn'
pip install fedn

```
pip install .
```

### Prepare the example environment, the compute package and seed model
Prepare the example environment, the compute package and seed model
-------------------------------------------------------------------

Standing in the folder fedn/examples/async-clients
```
pip install -r requirements.txt
```

.. code-block::

pip install -r requirements.txt

Create the compute package and seed model:
```
fedn package create --path client
```

```
fedn run build --path client
```
.. code-block::

fedn package create --path client

.. code-block::

fedn run build --path client


You will now have a file 'seed.npz' in the directory.

### Running a simulation
Running a simulation
--------------------

Deploy FEDn on localhost. Standing in the the FEDn root directory:

```
docker-compose up
```
.. code-block::

docker-compose up


Initialize FEDn with the compute package and seed model

```
python init_fedn.py
```
.. code-block::

python init_fedn.py

Start simulating clients
```
python run_clients.py
```

.. code-block::

python run_clients.py

Start the experiment / training sessions:

```
python run_experiment.py
```
.. code-block::

Once global models start being produced, you can start analyzing results using API Client, refer to the notebook "Experiment.ipynb" for instructions.
python run_experiment.py

Once global models start being produced, you can start analyzing results using API Client, refer to the notebook "Experiment.ipynb" for instructions.



Loading