Skip to main content

Research Libary for Federated Learing Loss Landscapes

Project description

Fedland: Loss Landscapes in Federated Learning

Summary:

Loss landscapes in the federated learning [1] setting are relatively more complex and often fragmented as compared to the centralized setting, owing to variations in local data distributions [2]. The project will study and contrast local and global loss landscapes to derive insights about a local client’s contribution to the overall loss landscape. Understanding these dynamics can potentially enhance our ability to optimize federated learning systems.

Task:

  • Training a neural network model in two settings:

    1. In a centralized environment
    2. In a federated environment
  • Conduct experiments with the federated setting focusing on analyzing the loss landscapes of the models trained in these settings, including both the global model and individual client-side local models.

Project Layout:

Since I am using FEDn, the project follows their recommended project structure.

I have added pyproject.toml for managing our dependencies. I have written it to use Poetry. You probably want to use an virtual environment or tool to manage your virtualenv. To install the dependencies using poetry, simply run poetry install. I set it to use python 3.11

project
├ client
│ ├ fedn.yaml
│ ├ python_env.yaml
│ ├ model.py
│ ├ data.py
│ ├ train.py
│ └ validate.py
├ data
│ └ mnist.npz
├ fedland
│ └ __init__.py
├ README.md
├ pyproject.toml
├ scripts / notebooks
└ Dockerfile

Running the project

  1. Setup a venv
  2. Run poetry install in venv
  3. Create and fill in the .env fields based on .env.example
    • run: cp .env.example .env
  4. Run whatever scripts you want in /scripts
    • eg: python scripts/centralized_base.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fedland-0.1.1.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fedland-0.1.1-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file fedland-0.1.1.tar.gz.

File metadata

  • Download URL: fedland-0.1.1.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.11.2-arch1-1

File hashes

Hashes for fedland-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2c46993f7974596f64d93371447ad086d68011ce45959a29b91bdb4239b33d0f
MD5 2e2a70df01f1239a2cbf039f7f29dcd9
BLAKE2b-256 0d1647ac66e3a406d59c1f98a613b1b0242736daa8471e64a611254e499fa60d

See more details on using hashes here.

File details

Details for the file fedland-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: fedland-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.11.2-arch1-1

File hashes

Hashes for fedland-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8764b4adf30fba6340586f0b73e1b90fb9171c4a51ffed2f331c820c60b178ed
MD5 39f73c15dd75ddfc6e2afa314cdebd6a
BLAKE2b-256 8c393432bbc501ded2a347fb3c826817cde0bcf8f9132f13fa657eb789af4bd9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page