项目简介
本项目是一个基于Python的联邦学习分布式训练系统,主要用于实现模型的分布式训练,在保护用户数据隐私的前提下,提升模型训练效率。
项目的主要特性和功能
- 模型分发与聚合:将全局模型分发给各客户端,训练后聚合客户端模型参数更新全局模型。
- 分布式训练:支持多客户端在不同数据集上并行训练,提升训练效率。
- 隐私保护:不共享原始数据进行模型训练,保护用户隐私。
- 可扩展性:支持动态添加新客户端并进行模型微调。
- 模型评估:训练中评估模型性能,根据结果调整训练策略。
安装使用步骤
安装依赖
需安装Python 3.x、PyTorch、NumPy、Pandas。
使用步骤
- 构造数据集:
cd./dataset
- 复制数据:把构造好的数据复制到
/system/flcore/physicalclients
下。 - 启动服务端和客户端:服务端执行
/system
下的main.py
,客户端执行/system/flcore/physicalclients
下的start_clients.py
,命令行参数必须相同,例如: 服务端:python main.py -data mnist -m cnn -algo FedAvg -gr 2500 -did 0 -go cnn --num_clients 10
客户端:python start_clients.py -data mnist -m cnn -algo FedAvg -gr 2500 -did 0 -go cnn --num_clients 10
注意事项
- 客户端和服务器之间的通信可能需要配置网络设置。
- 分布式训练可能涉及多个机器,需要确保所有机器可以相互通信。
- 在实际部署中,可能需要根据具体任务和数据集调整模型参数和训练策略。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】