-
(1.1)由测试可知,40个用户的设置可以有效提速。40个用户的K=1曲线比20个用户的曲线稳定性和上升速度好一些,但需要合理化40个卫星和一个服务器之间的算力比例,已知地面站算力是卫星的20-30倍。
(1.2) 在20个卫星的情况下,若遍历bs*ep<data size,则波动和性能也受到影响。
(1.3)测试可知,即使20个bs*ep = data size也不如40个卫星。综上,实验设置40个卫星。细节点参考(1.1)
(1.4)不需要设置bs*ep超过一个client data size ,这与smahsed data累计量有trade off。后续再做也不迟。,并且,我已经测试过多个data size的情况了,暂时不能带来性能效益。还有细节需要设计。
-
- momentum 没有写好作为超参数传入,需要手动调,或者简单改一下
- 梯度裁剪 (clip) 的max_norm针对loss 异常的情况调整
- local_bs 和local_ep是一套的
- local_lr 是第一影响力
- K值可以放在其它情况稳定了之后,再多做几个,可以先调出来K=1或者K=20
- plot.py文件可以自行添加到脚本里头
挑出来参数之后,我于0703-0704之间把剩余【卫星场景+Persionalize+异步聚合】的代码改好进去,可以直接用你调好的参数跑完整的,所以第一步的目标是先有一个稳定的训练系统。
SFL_main_async.py
你读一下很简单
命令行
tensorboard --logdir .\Folder\Runs\CIFAR10_5_23_iid_0
不行就把相对路径改成绝对路径即可
tensorboard 可以直接导出图像