# FedML - The community building and connecting AI anywhere at any scale
https://doc.fedml.ai
## Mission
FedML builds simple and versatile APIs for machine learning running anywhere at any scale.
In other words, FedML supports both federated learning for data silos and distributed training for acceleration with MLOps and Open Source support, covering industrial grade use cases and cutting-edge academia research.
- Distributed Training: Accelerate Model Training with Lightweight Cheetah
- Simulator: (1) simulate FL using a single process (2) MPI-based FL Simulator (3) NCCL-based FL Simulator (fastest)
- Cross-silo Federated Learning for cross-organization/account training, including Python-based edge SDK
- Cross-device Federated Learning for Smartphones and IoTs, including edge SDK for Android/iOS and embedded Linux.
- Model Serving: we focus on providing a better user experience for edge AI.
- MLOps: FedML's machine learning operation pipeline for AI running anywhere at any scale.
## Source Code Structure
The functionality of each package is as follows:
**core**: The FedML low-level API package. This package implements distributed computing by communication backend like MPI, NCCL, MQTT, gRPC, PyTorch RPC, and also supports topology management.
Other low-level APIs related to security and privacy are also supported. All algorithms and Scenarios are built based on the "core" package.
**data**: FedML will provide some default datasets for users to get started. Customization templates are also provided.
**model**: FedML model zoo.
**device**: FedML computing resource management.
**simulation**: FedML parrot can support: (1) simulate FL using a single process (2) MPI-based FL Simulator (3) NCCL-based FL Simulator (fastest)
**cross-silo**: Cross-silo Federated Learning for cross-organization/account training
**cross-device**: Cross-device Federated Learning for Smartphones and IoTs
**distributed**: Distributed Training: Accelerate Model Training with Lightweight Cheetah
**serve**: Model serving, tailored for edge inference
**mlops**: APIs related to machine learning operation platform (open.fedml.ai)
**centralized**: Some centralized trainer code examples for benchmarking purposes.
**utils**: Common utilities shared by other modules.
## About FedML, Inc.
https://FedML.ai
Raw data
{
"_id": null,
"home_page": "https://github.com/FedML-AI/FedML",
"name": "fedml",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "distributed machine learning, federated learning, natural language processing, computer vision, Internet of Things",
"author": "FedML Team",
"author_email": "ch@fedml.ai",
"download_url": "https://files.pythonhosted.org/packages/70/80/4e6a253f361202c7d0a3175807a7b5605842d330f6ee295c705c556c384e/fedml-0.8.50.tar.gz",
"platform": null,
"description": "# FedML - The community building and connecting AI anywhere at any scale\n\nhttps://doc.fedml.ai\n\n## Mission\nFedML builds simple and versatile APIs for machine learning running anywhere at any scale.\nIn other words, FedML supports both federated learning for data silos and distributed training for acceleration with MLOps and Open Source support, covering industrial grade use cases and cutting-edge academia research.\n\n- Distributed Training: Accelerate Model Training with Lightweight Cheetah\n- Simulator: (1) simulate FL using a single process (2) MPI-based FL Simulator (3) NCCL-based FL Simulator (fastest)\n- Cross-silo Federated Learning for cross-organization/account training, including Python-based edge SDK\n- Cross-device Federated Learning for Smartphones and IoTs, including edge SDK for Android/iOS and embedded Linux.\n- Model Serving: we focus on providing a better user experience for edge AI.\n- MLOps: FedML's machine learning operation pipeline for AI running anywhere at any scale.\n\n## Source Code Structure\n\n\nThe functionality of each package is as follows:\n\n**core**: The FedML low-level API package. This package implements distributed computing by communication backend like MPI, NCCL, MQTT, gRPC, PyTorch RPC, and also supports topology management. \nOther low-level APIs related to security and privacy are also supported. All algorithms and Scenarios are built based on the \"core\" package.\n\n**data**: FedML will provide some default datasets for users to get started. Customization templates are also provided.\n\n**model**: FedML model zoo.\n\n**device**: FedML computing resource management.\n\n**simulation**: FedML parrot can support: (1) simulate FL using a single process (2) MPI-based FL Simulator (3) NCCL-based FL Simulator (fastest)\n\n**cross-silo**: Cross-silo Federated Learning for cross-organization/account training\n\n**cross-device**: Cross-device Federated Learning for Smartphones and IoTs\n\n**distributed**: Distributed Training: Accelerate Model Training with Lightweight Cheetah\n\n**serve**: Model serving, tailored for edge inference\n\n**mlops**: APIs related to machine learning operation platform (open.fedml.ai)\n\n**centralized**: Some centralized trainer code examples for benchmarking purposes.\n\n**utils**: Common utilities shared by other modules.\n\n## About FedML, Inc.\nhttps://FedML.ai\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "A research and production integrated edge-cloud library for federated/distributed machine learning at anywhere at any scale.",
"version": "0.8.50",
"project_urls": {
"Homepage": "https://github.com/FedML-AI/FedML"
},
"split_keywords": [
"distributed machine learning",
" federated learning",
" natural language processing",
" computer vision",
" internet of things"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1dfb9390c84cc2dfc2ff2d33f69b326c1b8c3a56c5844969fb8ea85251e3e6f9",
"md5": "0394af97e7c8866b563c70b5302456d2",
"sha256": "ce787442b7201923e049cdb633a8d0fb49b189e137e45ab187b160d9a63a01a3"
},
"downloads": -1,
"filename": "fedml-0.8.50-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "0394af97e7c8866b563c70b5302456d2",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 1225151,
"upload_time": "2024-06-16T09:23:14",
"upload_time_iso_8601": "2024-06-16T09:23:14.245312Z",
"url": "https://files.pythonhosted.org/packages/1d/fb/9390c84cc2dfc2ff2d33f69b326c1b8c3a56c5844969fb8ea85251e3e6f9/fedml-0.8.50-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "70804e6a253f361202c7d0a3175807a7b5605842d330f6ee295c705c556c384e",
"md5": "7743254a494f97e0def1d9b0418763e3",
"sha256": "98ed8061aa96552cb952ca5bded543814c1d8b88fee84f826ba63ebdbb4fcf80"
},
"downloads": -1,
"filename": "fedml-0.8.50.tar.gz",
"has_sig": false,
"md5_digest": "7743254a494f97e0def1d9b0418763e3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 831772,
"upload_time": "2024-06-16T09:23:18",
"upload_time_iso_8601": "2024-06-16T09:23:18.689748Z",
"url": "https://files.pythonhosted.org/packages/70/80/4e6a253f361202c7d0a3175807a7b5605842d330f6ee295c705c556c384e/fedml-0.8.50.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-16 09:23:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "FedML-AI",
"github_project": "FedML",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "numpy",
"specs": [
[
">=",
"1.21"
]
]
},
{
"name": "PyYAML",
"specs": [
[
"~=",
"5.4.1"
]
]
},
{
"name": "h5py",
"specs": [
[
"~=",
"3.7.0"
]
]
},
{
"name": "tqdm",
"specs": [
[
"~=",
"4.64.0"
]
]
},
{
"name": "wget",
"specs": [
[
"~=",
"3.2"
]
]
},
{
"name": "paho-mqtt",
"specs": [
[
"~=",
"1.6.1"
]
]
},
{
"name": "boto3",
"specs": [
[
"~=",
"1.24.32"
]
]
},
{
"name": "scikit-learn",
"specs": [
[
"~=",
"1.1.1"
]
]
},
{
"name": "networkx",
"specs": [
[
"~=",
"2.8.5"
]
]
},
{
"name": "click",
"specs": [
[
"~=",
"8.1.3"
]
]
},
{
"name": "torch",
"specs": [
[
">=",
"1.13.1"
]
]
},
{
"name": "torchvision",
"specs": [
[
">=",
"0.14.1"
]
]
},
{
"name": "spacy",
"specs": [
[
"~=",
"3.4.0"
]
]
},
{
"name": "gensim",
"specs": [
[
"~=",
"4.2.0"
]
]
},
{
"name": "multiprocess",
"specs": [
[
"~=",
"0.70.13"
]
]
},
{
"name": "smart-open",
"specs": [
[
"==",
"6.3.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"~=",
"3.5.2"
]
]
},
{
"name": "dill",
"specs": [
[
"~=",
"0.3.5.1"
]
]
},
{
"name": "pandas",
"specs": [
[
"~=",
"1.4.3"
]
]
},
{
"name": "wandb",
"specs": [
[
"==",
"0.13.2"
]
]
},
{
"name": "eciespy",
"specs": []
},
{
"name": "PyNaCl",
"specs": []
},
{
"name": "httpx",
"specs": [
[
"~=",
"0.23.0"
]
]
},
{
"name": "attrs",
"specs": []
},
{
"name": "fastapi",
"specs": [
[
"==",
"0.92.0"
]
]
},
{
"name": "uvicorn",
"specs": []
},
{
"name": "geventhttpclient",
"specs": [
[
">=",
"1.4.4"
],
[
"<=",
"2.0.9"
]
]
},
{
"name": "aiohttp",
"specs": [
[
">=",
"3.8.1"
]
]
},
{
"name": "python-rapidjson",
"specs": [
[
">=",
"0.9.1"
]
]
},
{
"name": "tritonclient",
"specs": [
[
"~=",
"2.29.0"
]
]
},
{
"name": "redis",
"specs": [
[
"~=",
"4.4.0"
]
]
},
{
"name": "attrdict",
"specs": []
},
{
"name": "ntplib",
"specs": [
[
"~=",
"0.4.0"
]
]
},
{
"name": "typing_extensions",
"specs": []
},
{
"name": "chardet",
"specs": []
},
{
"name": "mpi4py",
"specs": [
[
"~=",
"3.1.4"
]
]
},
{
"name": "tensorflow",
"specs": []
},
{
"name": "tensorflow_datasets",
"specs": []
},
{
"name": "tensorflow_federated",
"specs": []
},
{
"name": "jax",
"specs": [
[
"~=",
"0.3.16"
]
]
},
{
"name": "dm-haiku",
"specs": []
},
{
"name": "optax",
"specs": [
[
"~=",
"0.1.3"
]
]
},
{
"name": "jaxlib",
"specs": []
},
{
"name": "mxnet",
"specs": [
[
"~=",
"1.6.0"
]
]
},
{
"name": "setuptools",
"specs": [
[
"~=",
"61.2.0"
]
]
},
{
"name": "docutils",
"specs": [
[
"~=",
"0.18.1"
]
]
},
{
"name": "sphinx",
"specs": [
[
"~=",
"5.0.2"
]
]
},
{
"name": "fedml",
"specs": [
[
"~=",
"0.8.3a6"
]
]
},
{
"name": "yaml",
"specs": [
[
"~=",
"0.2.5"
]
]
},
{
"name": "opencv-python",
"specs": [
[
"~=",
"4.7.0.68"
]
]
},
{
"name": "pillow",
"specs": [
[
"~=",
"9.2.0"
]
]
},
{
"name": "seaborn",
"specs": [
[
"~=",
"0.11.2"
]
]
},
{
"name": "requests",
"specs": [
[
"~=",
"2.28.1"
]
]
},
{
"name": "onnx",
"specs": [
[
"~=",
"1.13.1"
]
]
},
{
"name": "pycocotools",
"specs": [
[
"~=",
"2.0.6"
]
]
},
{
"name": "addict",
"specs": [
[
"~=",
"2.4.0"
]
]
},
{
"name": "scipy",
"specs": [
[
"~=",
"1.8.1"
]
]
},
{
"name": "sklearn",
"specs": [
[
"~=",
"0.0"
]
]
},
{
"name": "monai",
"specs": [
[
"~=",
"1.0.0"
]
]
},
{
"name": "psutil",
"specs": [
[
"~=",
"5.9.1"
]
]
},
{
"name": "sqlalchemy",
"specs": [
[
"~=",
"2.0.9"
]
]
},
{
"name": "certifi",
"specs": [
[
"~=",
"2022.6.15"
]
]
},
{
"name": "pydantic",
"specs": [
[
"~=",
"1.9.1"
]
]
},
{
"name": "six",
"specs": [
[
"~=",
"1.15.0"
]
]
},
{
"name": "botocore",
"specs": [
[
"~=",
"1.27.32"
]
]
},
{
"name": "setproctitle",
"specs": [
[
"~=",
"1.2.3"
]
]
},
{
"name": "wheel",
"specs": [
[
"~=",
"0.37.1"
]
]
}
],
"lcname": "fedml"
}