KarhouTam/FL-bench

Question of the output and the test accuracy

SillyPuffo opened this issue · 2 comments

你好,非常感谢你的这个非常完整的FL的框架,非常的方便,但我有点小问题关于输出,假如你有时间希望可以帮我看看。非常感谢你的帮助

我在tiny-imagenet上训练resnet-18, 使用如下的运行命令:
python src/server/fedavg.py -m res18 -d tiny_imagenet -jr 1.0 -ge 20 -le 10 -bs 64 -lr 0.01 -mom 0.9 -wd 0.00001 -v 1 -vg 10

得到了如下的结果:
Screenshot from 2023-08-24 10-40-30

(1) 麻烦请问一下最上面的那些结果是他使用没有聚合过(本地训练后)的模型得到的准确率吗?
(2) 最下面的convergence那里的数字是在global 模型上得到的准确率吗?
(3) 具体而言,我应该如何使用您的代码,让他在每轮训练后检测全局模型的准确率,我是应该将--test_gap 设置成1吗?

非常感谢你的代码还有回答,代码写的很好,但我能力有限,看的有点晕,以上我还是不太清楚。

您好,首先感谢您对这个开源项目的关注。

以下是问题回复:

A1:acc: x -> y 中,x 是客户端接收到的新的全局模型后直接拿去自己的测试集上测试得到的准确率;y 是客户端本地训练之后再在自己的测试集上测试得到的准确率。

A2:convergence 指的是全局模型分别在 x, y 上取得指定阈值的回合数。

A3:是的。--test_gap 1 指每过 1 轮,服务器搜集全局模型在各客户端的测试集上的准确率,并对其做加权平均。

谢谢大佬这么快的回复,现在清楚了,谢谢您!