dqn的q网络还需要再优化 目前的dqn是只选择一个设备(同时选取多个设备会导致内存出问题)
Welcome to FLSim, a PyTorch based federated learning simulation framework, created for experimental research in a paper accepted by IEEE INFOCOM 2020:
Hao Wang, Zakhary Kaplan, Di Niu, Baochun Li. "Optimizing Federated Learning on Non-IID Data with Reinforcement Learning," in the Proceedings of IEEE INFOCOM, Beijing, China, April 27-30, 2020.
To install FLSim, all that needs to be done is clone this repository to the desired directory.
FLSim uses Anaconda to manage Python and it's dependencies, listed in environment.yml
. To install the fl-py37
Python environment, set up Anaconda (or Miniconda), then download the environment dependencies with:
conda env -n fl-py37 -f environment.yml
Before using the repository, make sure to activate the fl-py37
environment with:
conda activate fl-py37
To start a simulation, run run.py
from the repository's root directory:
python run.py
--config=config.json
--log=INFO
run.py
flags--config
(-c
): path to the configuration file to be used.--log
(-l
): level of logging info to be written to console, defaults to INFO
.config.json
filesFLSim uses a JSON file to manage the configuration parameters for a federated learning simulation. Provided in the repository is a generic template and three preconfigured simulation files for the CIFAR-10, FashionMNIST, and MNIST datasets.
For a detailed list of configuration options, see the wiki page.
If you have any questions, please feel free to contact Hao Wang (haowang@ece.utoronto.ca)
@inproceedings{wang2020optimizing,
title={Optimizing Federated Learning on Non-IID Data with Reinforcement Learning},
author={Wang, Hao and Kaplan, Zakhary and Niu, Di and Li, Baochun},
booktitle={IEEE INFOCOM 2020-IEEE Conference on Computer Communications},
pages={1698--1707},
year={2020},
organization={IEEE}
}