联邦学习框架 FederatedScope(1)快速入门

新鲜出炉的框架——两个月,暂时没什么教程,全程跟着官方文档走。

框架与文档可能存在一点小问题,以后肯定会改进,一切以当下事实为准。

简介

官网:https://federatedscope.io/

FederatedScope 采用事件驱动的编程范式,用于支持现实场景中联邦学习应用的异步训练,并借鉴分布式机器学习的相关研究成果,集成了异步训练策略来提升训练效率。具体而言,FederatedScope 将联邦学习看成是参与方之间收发消息的过程,通过定义消息类型以及处理消息的行为来描述联邦学习过程。

快速入门

跟着官方教程一步步操作就行, 虽然有坑。。。这里只记录一下注意事项。

下载安装

注意 torch、torchvision、Python 的版本对应(其实不需要管)

torchtorchvisionpython
main / nightlymain / nightly>=3.7, <=3.10
1.12.00.13.0>=3.7, <=3.10
1.11.00.12.0>=3.7, <=3.10
1.10.20.11.3>=3.6, <=3.9
1.10.10.11.2>=3.6, <=3.9
1.10.00.11.1>=3.6, <=3.9
1.9.10.10.1>=3.6, <=3.9
1.9.00.10.0>=3.6, <=3.9
1.8.20.9.2>=3.6, <=3.9
1.8.10.9.1>=3.6, <=3.9
1.8.00.9.0>=3.6, <=3.9

去官方 git 查看,绝对是最新的:https://github.com/pytorch/vision#installation

好吧,事实上压根不需要自己手动安装,上面的不用理会。。。

只需要在 anaconda 建立一个环境,注意 python 版本一定要 3.9 以上!

然后再 conda install 依赖文件 即可,requirements.txt已经集成好了(这里没用 docker )

image-20220803111631451

文档的坑

文档大致是没问题的,慢慢看能跑起来,不过可能官方时间比较仓促,有些小错误。

安装依赖时

environment 打错了!!!直接给你报找不到这个文件。。。

image-20220803101747721

独立模式运行时

这里的参数 federated 应该为 federate 。。。

image-20220803101859345

不信你看配置文件怎么写的:

image-20220803102142145

准备数据集和模型

这里只为快速入门,不自定义数据集,跑自带的 demo 而已,所以无需准备。

独立模式训练

我一看官方默认的配置参数,就知道是我这小小轻薄本无法承受之重,于是改改命令参数(如下),自信满满地 run !

python federatedscope/main.py --cfg federatedscope/example_configs/femnist.yaml federate.total_round_num 50 data.batch_size 10

可以看到,这里会打印主机 ip 、文件路径、配置参数等有价值信息。

image-20220803103439168

这里是在模拟多个客户端,默认 200 个(埋下伏笔)

image-20220802193056477image-20220802193631836

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年2月25日 下午4:09
下一篇 2023年2月25日 下午4:10

相关推荐