check port forwarding first
- run server :: preset epoch, client_k which you want aggregate some
- run client :: preset epoch same as server, gpu num which you want to put in (if can't, switched to cpu )
- DEV
- new docker container init
- will be added with new dockerfile
- dockerfile-build
docker build -t hail/pinme/server:1.5 server/
- dump sectet
docker commit --change "ENV SERVER_POT=0000"
- dockerfile -run
docker run -d --name pinme.server hail/pinme/server:1.5
- shell
source server/start.sh
- python directly
python run_server.py --SERVER_PORT 59919 --SERVER_HOST '127.0.0.2' --model fedavg --k_clients 1
- new dockerfile
docker build -t hail/pinme/client:1.5 client/
- dockerfile -run
docker run -d --name pinme.client1 hail/pinme/client:1.5
- shell
source clinet/start.sh
- python cmd
python run_client.py --CLIENT_PORT 59919 --CLIENT_HOST '127.0.0.2' --model fedavg --n_epochs 1 --gpu 0
- if you want to use server & edge, not locally, then set server's port & host to fit in docker forwarding setting
communicate
: communicate stream & copy streammodels
: model architecture & federate learningworker
: data & model & network setter, data loaderfed
: frame-work hugging phaseserver
: server class & run scriptclinet
: client class & run scriptutils
: debug, plot, logger
@software{pinME,
author = {Hail},
month = {12},
title = {{Frame-work for federate learning}},
url = {https://github.com/Hail-cali/pinME},
version = {1.2.0},
year = {2021}
}