FedCV: A Federated Learning Framework for Diverse Computer Vision Tasks

Related tags

Deep Learning FedCV
Overview

FedCV: A Federated Learning Framework for Diverse Computer Vision Tasks

Image Classification

Dataset: Google Landmark, COCO, ImageNet

Model: EfficientNetB0, MobileNetV3

Object Detection

Dataset: COCO

Model: YoLoV5

Google Doc: https://docs.google.com/document/d/1AU-3XT5vLKjLjvOOcdfPfTDwnww1C3xEaroA94pKaWU/edit#heading=h.xldeyzrvdr99

Image Segmentation

Dataset: COCO (Pretraining), Pascal (Fine-Tuning)

Model: DeepLabV3+, U-Net

https://docs.google.com/document/d/1TJi3os3oRQlm6rIwoYfHjUA80M_9IQZ0_iRApuRs4s8/edit

Installation

http://doc.fedml.ai/#/installation

After the clone of this repository, please run the following command to get FedML submodule to your local.

mkdir FedML
cd FedML
git submodule init
git submodule update

Code Structure of FedCV

  • FedML: a soft repository link generated using git submodule add https://github.com/FedML-AI/FedML.

  • data: provide data downloading scripts and store the downloaded datasets. Note that in FedML/data, there also exists datasets for research, but these datasets are used for evaluating federated optimizers (e.g., FedAvg) and platforms. FedNLP supports more advanced datasets and models.

  • data_preprocessing: data loaders

  • model: advanced CV models.

  • trainer: please define your own trainer.py by inheriting the base class in FedML/fedml-core/trainer/fedavg_trainer.py. Some tasks can share the same trainer.

  • experiments/distributed:

  1. experiments is the entry point for training. It contains experiments in different platforms. We start from distributed.
  2. Every experiment integrates FOUR building blocks FedML (federated optimizers), data_preprocessing, model, trainer.
  3. To develop new experiments, please refer the code at experiments/distributed/text-classification.
  • experiments/centralized:
  1. please provide centralized training script in this directory.
  2. This is used to get the reference model accuracy for FL.
  3. You may need to accelerate your training through distributed training on multi-GPUs and multi-machines. Please refer the code at experiments/centralized/DDP_demo.

Update FedML Submodule

cd FedML
git checkout master && git pull
cd ..
git add FedML
git commit -m "#<issue_id> - updating submodule FedML to latest"
git push
Comments
  • Refactored pascal and coco segmentation dataloaders to reuse noniid_partition code from fedml_core

    Refactored pascal and coco segmentation dataloaders to reuse noniid_partition code from fedml_core

    This concludes the noniid_partition 'refactoring for reuse' task

    Corresponding FedML file: https://github.com/FedML-AI/FedML/blob/fedseg/fedml_core/non_iid_partition/noniid_partition.py

    dataloader transplant 
    opened by mitashimpi 1
  • Model refactor to remove FedML syspath anti pattern

    Model refactor to remove FedML syspath anti pattern

    +1 @keerti-1997 @mitashimpi

    I have removed the dependency on FedML sys path now it will always refer the submodule in our repo. Also I have removed AlignedXception code as it's not present and have renamed BatchNorm to self.BatchNorm for naming conventions.

    enhancement 
    opened by sadarshannaiynar 0
  • MobileNet V2 Implementation for segmentation

    MobileNet V2 Implementation for segmentation

    +1 @keerti-1997 @mitashimpi

    The implementation was taken from https://github.com/VainF/DeepLabV3Plus-Pytorch and made slight structural modifications to suit our architecture.

    enhancement 
    opened by sadarshannaiynar 0
  • Question about missing files

    Question about missing files

    Hello, I would like to ask when I run the code in /distributed/detection and find that the imported package in main_fedavg_yolo.py does not actually exist. For instance, the files in the model/detection/utils directory are inconsistent with the actual imported files. I hope my question is answered, thanks a lot!

    opened by Yohuna 3
  • Problems of distributed computing in federated learning

    Problems of distributed computing in federated learning

    When using distributed operation, I have four Gpus, each of which has a client. During the training process, each GPU has a huge difference. Two gpus even ran out of memory. By the way, I also found that gpu training with overflow was extremely slow and seemed to have gpu utilization close to zero.

    opened by rG223 1
  • Is that possible to run Fed-CV on Jetson Nano?

    Is that possible to run Fed-CV on Jetson Nano?

    Hi there Really appreciate you guys provide the opensource Fed-CV, and help us to research on this framework. As we focus on object detection, is that possible to run Fed-CV on Jetson Nano?

    opened by lancasterJie 0
Owner
FedML-AI
FedML: A Research Library and Benchmark for Federated Machine Learning
FedML-AI
Repository providing a wide range of self-supervised pretrained models for computer vision tasks.

Hierarchical Pretraining: Research Repository This is a research repository for reproducing the results from the project "Self-supervised pretraining

Colorado Reed 53 Nov 9, 2022
Bachelor's Thesis in Computer Science: Privacy-Preserving Federated Learning Applied to Decentralized Data

federated is the source code for the Bachelor's Thesis Privacy-Preserving Federated Learning Applied to Decentralized Data (Spring 2021, NTNU) Federat

Dilawar Mahmood 25 Nov 30, 2022
FEDn is an open-source, modular and ML-framework agnostic framework for Federated Machine Learning

FEDn is an open-source, modular and ML-framework agnostic framework for Federated Machine Learning (FedML) developed and maintained by Scaleout Systems. FEDn enables highly scalable cross-silo and cross-device use-cases over FEDn networks.

Scaleout 75 Nov 9, 2022
Breaching - Breaching privacy in federated learning scenarios for vision and text

Breaching - A Framework for Attacks against Privacy in Federated Learning This P

Jonas Geiping 139 Jan 3, 2023
Code and data for "Broaden the Vision: Geo-Diverse Visual Commonsense Reasoning" (EMNLP 2021).

GD-VCR Code for Broaden the Vision: Geo-Diverse Visual Commonsense Reasoning (EMNLP 2021). Research Questions and Aims: How well can a model perform o

Da Yin 24 Oct 13, 2022
PyTorchCV: A PyTorch-Based Framework for Deep Learning in Computer Vision.

PyTorchCV: A PyTorch-Based Framework for Deep Learning in Computer Vision @misc{CV2018, author = {Donny You ([email protected])}, howpubl

Donny You 40 Sep 14, 2022
A PyTorch-Based Framework for Deep Learning in Computer Vision

TorchCV: A PyTorch-Based Framework for Deep Learning in Computer Vision @misc{you2019torchcv, author = {Ansheng You and Xiangtai Li and Zhen Zhu a

Donny You 2.2k Jan 9, 2023
An open framework for Federated Learning.

Welcome to IntelĀ® Open Federated Learning Federated learning is a distributed machine learning approach that enables organizations to collaborate on m

Intel Corporation 397 Dec 27, 2022
Plato: A New Framework for Federated Learning Research

a new software framework to facilitate scalable federated learning research.

System Group@Theory Lab 192 Jan 5, 2023
A framework for analyzing computer vision models with simulated data

3DB: A framework for analyzing computer vision models with simulated data Paper Quickstart guide Blog post Installation Follow instructions on: https:

3DB 112 Jan 1, 2023
An Agnostic Computer Vision Framework - Pluggable to any Training Library: Fastai, Pytorch-Lightning with more to come

IceVision is the first agnostic computer vision framework to offer a curated collection with hundreds of high-quality pre-trained models from torchvision, MMLabs, and soon Pytorch Image Models. It orchestrates the end-to-end deep learning workflow allowing to train networks with easy-to-use robust high-performance libraries such as Pytorch-Lightning and Fastai

airctic 789 Dec 29, 2022
Spiking Neural Network for Computer Vision using SpikingJelly framework and Pytorch-Lightning

Spiking Neural Network for Computer Vision using SpikingJelly framework and Pytorch-Lightning

Sami BARCHID 2 Oct 20, 2022
This is the code repository for the paper A hierarchical semantic segmentation framework for computer-vision-based bridge column damage detection

Bridge-damage-segmentation This is the code repository for the paper A hierarchical semantic segmentation framework for computer-vision-based bridge c

Jingxiao Liu 5 Dec 7, 2022
Computer Vision Script to recognize first person motion, developed as final project for the course "Machine Learning and Deep Learning"

Overview of The Code BaseColab/MLDL_FPAR.pdf: it contains the full explanation of our work Base Colab: it contains the base colab used to perform all

Simone Papicchio 4 Jul 16, 2022
StarGANv2-VC: A Diverse, Unsupervised, Non-parallel Framework for Natural-Sounding Voice Conversion

StarGANv2-VC: A Diverse, Unsupervised, Non-parallel Framework for Natural-Sounding Voice Conversion Yinghao Aaron Li, Ali Zare, Nima Mesgarani We pres

Aaron (Yinghao) Li 282 Jan 1, 2023
Solving reinforcement learning tasks which require language and vision

Multimodal Reinforcement Learning JAX implementations of the following multimodal reinforcement learning approaches. Dual-coding Episodic Memory from

Henry Prior 31 Feb 26, 2022
Vertical Federated Principal Component Analysis and Its Kernel Extension on Feature-wise Distributed Data based on Pytorch Framework

VFedPCA+VFedAKPCA This is the official source code for the Paper: Vertical Federated Principal Component Analysis and Its Kernel Extension on Feature-

John 9 Sep 18, 2022
[CVPR 21] Vectorization and Rasterization: Self-Supervised Learning for Sketch and Handwriting, IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2021.

Vectorization and Rasterization: Self-Supervised Learning for Sketch and Handwriting, CVPR 2021. Ayan Kumar Bhunia, Pinaki nath Chowdhury, Yongxin Yan

Ayan Kumar Bhunia 44 Dec 12, 2022
TorchOk - The toolkit for fast Deep Learning experiments in Computer Vision

TorchOk - The toolkit for fast Deep Learning experiments in Computer Vision

null 52 Dec 23, 2022