新鲜出炉的框架——两个月,暂时没什么教程,全程跟着官方文档走。
框架与文档可能存在一点小问题,以后肯定会改进,一切以当下事实为准。
简介
官网:https://federatedscope.io/
FederatedScope 采用事件驱动的编程范式,用于支持现实场景中联邦学习应用的异步训练,并借鉴分布式机器学习的相关研究成果,集成了异步训练策略来提升训练效率。具体而言,FederatedScope 将联邦学习看成是参与方之间收发消息
的过程,通过定义消息类型
以及处理消息的行为
来描述联邦学习过程。
快速入门
跟着官方教程一步步操作就行, 虽然有坑。。。这里只记录一下注意事项。
下载安装
注意 torch、torchvision、Python
的版本对应(其实不需要管)
torch | torchvision | python |
---|---|---|
main / nightly | main / nightly | >=3.7 , <=3.10 |
1.12.0 | 0.13.0 | >=3.7 , <=3.10 |
1.11.0 | 0.12.0 | >=3.7 , <=3.10 |
1.10.2 | 0.11.3 | >=3.6 , <=3.9 |
1.10.1 | 0.11.2 | >=3.6 , <=3.9 |
1.10.0 | 0.11.1 | >=3.6 , <=3.9 |
1.9.1 | 0.10.1 | >=3.6 , <=3.9 |
1.9.0 | 0.10.0 | >=3.6 , <=3.9 |
1.8.2 | 0.9.2 | >=3.6 , <=3.9 |
1.8.1 | 0.9.1 | >=3.6 , <=3.9 |
1.8.0 | 0.9.0 | >=3.6 , <=3.9 |
去官方 git 查看,绝对是最新的:https://github.com/pytorch/vision#installation
好吧,事实上压根不需要自己手动安装,上面的不用理会。。。
只需要在 anaconda 建立一个环境,注意 python 版本一定要 3.9 以上!
然后再 conda install
依赖文件 即可,requirements.txt
已经集成好了(这里没用 docker )
文档的坑
文档大致是没问题的,慢慢看能跑起来,不过可能官方时间比较仓促,有些小错误。
安装依赖时
environment
打错了!!!直接给你报找不到这个文件。。。
独立模式运行时
这里的参数 federated 应该为 federate
。。。
不信你看配置文件怎么写的:
准备数据集和模型
这里只为快速入门,不自定义数据集,跑自带的 demo 而已,所以无需准备。
独立模式训练
我一看官方默认的配置参数,就知道是我这小小轻薄本无法承受之重,于是改改命令参数(如下),自信满满地 run !
python federatedscope/main.py --cfg federatedscope/example_configs/femnist.yaml federate.total_round_num 50 data.batch_size 10
可以看到,这里会打印主机 ip 、文件路径、配置参数等有价值信息。
这里是在模拟多个客户端,默认 200 个(埋下伏笔)
文章出处登录后可见!