https://github.com/scaleoutsystems/fedn-client-cifar10-keras
FEDn client implementation for VGG-16 for cifar-10
https://github.com/scaleoutsystems/fedn-client-cifar10-keras
Last synced: 30 days ago
JSON representation
FEDn client implementation for VGG-16 for cifar-10
- Host: GitHub
- URL: https://github.com/scaleoutsystems/fedn-client-cifar10-keras
- Owner: scaleoutsystems
- Created: 2021-03-26T09:09:35.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-22T07:15:29.000Z (about 5 years ago)
- Last Synced: 2025-01-10T18:23:56.659Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 104 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FEDn implementation of cifar10 with keras
## Setting up a client
### Initiate your federation
This command loads and partitions the dataset, generates a
docker-compose.yaml for your choice of numbers of clients and
initiates a seed model to start from:
(Replace: {NR_OF_CLIENTS} with the number of clients you want to build you federation with)
```bash
pip install -r init_requirements.txt
python init_federation.py {NR_OF_CLIENTS}
```
### Creating a compute package
```bash
tar -czvf package/kerascifar.tar.gz client
```
## Start the client
The easiest way to start clients for quick testing is by using Docker. We provide a docker-compose template for convenience. First, edit 'fedn-network.yaml' to provide information about the reducer endpoint. Then run following command in project directory:
(Replace {NR_OF_CLIENTS} with the number of clients you selected)
```bash
docker-compose -f docker-compose-{NR_OF_CLIENTS}clients.yaml up
```
> Note that this assumes that a FEDn network is running with "keras" helper, which is identified in "config/settings-reducer.yaml" (see separate deployment instructions). The file 'docker-compose.dev.yaml' is for testing againts a local pseudo-distributed FEDn network. Use 'docker-compose.yaml' if you are connecting against a reducer part of a distributed setup and provide a 'extra_hosts' file.