Metadata-Version: 2.1
Name: pyflox
Version: 0.1.5
Summary: Library for serverless Federated Learning experiments.
Home-page: https://github.com/nikita-kotsehub/FLoX
Author: Nikita Kotsehub
Author-email: mykyta.kotsehub@gmail.com
License: MIT
Download-URL: https://github.com/nikita-kotsehub/FLoX/archive/refs/tags/v0.1.3-test.tar.gz
Keywords: federated_learning,serverless,edge_devices
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.0
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Description-Content-Type: text/markdown
License-File: LICENSE.TXT

# FLoX

FLoX (**F**ederated **L**earning on func**X**) is a Python library for serverless Federated Learning experiments.

This is initial documentation that will be soon expanded. 

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install flox.

```bash
# seems like flox is taken, will update the name soon
pip install flox
```

## Usage
For a full example, see this [Google Colab tutorial](https://colab.research.google.com/drive/19X1N8E5adUrmeE10Srs1hSQqCCecv23m?usp=sharing).

```python
from flox.flox import federated_learning

# performs 5 rounds of Federated Learning train global_model on given endpoint_ids
# uses 10 epochs and 100 samples from fashion_mnist dataset for training
federated_learning(global_model=global_model, 
                  endpoint_ids=endpoint_ids,
                  loops=5,
                  epochs=10,
                  keras_dataset="fashion_mnist", 
                  num_samples=100, 
                  input_shape=(32, 28, 28, 1))
```

## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

## License
[MIT](https://choosealicense.com/licenses/mit/)

