A Federated learning server wrote in Java for communicating with android clients Function Build socket server by netty-socketio Init global model by dl4j Transfer model params in JSON format Aggregate local models from clients by FedAveraging Algorithm Testing final global model performance Installation and setup References Federated Learning https://research.googleblog.com/2017/04/federated-learning-collaborative.html https://arxiv.org/pdf/1602.05629.pdf DL4J https://deeplearning4j.org SocketIO [https://github.com/mrniko/netty-socketio]