尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

NIID-Bench 上手指南:3 类 Non-IID 偏斜下的联邦学习基准测试如何一次跑通

NIID-Bench 上手指南:3 类 Non-IID 偏斜下的联邦学习基准测试如何一次跑通 NIID-Bench 上手指南3 类 Non-IID 偏斜下的联邦学习基准测试如何一次跑通【免费下载链接】NIID-BenchFederated Learning Benchmark - Federated Learning on Non-IID Data Silos: An Experimental Study (ICDE 2022)项目地址: https://gitcode.com/gh_mirrors/ni/NIID-BenchNIID-Bench 是一套源自 ICDE 2022 论文《Federated Learning on Non-IID Data Silos: An Experimental Study》的联邦学习基准测试工具。它把 3 类 Non-IID 数据偏斜、5 种联邦学习算法与 11 个数据集收敛到同一套实验协议里让算法之间的对比发生在完全相同的条件下。数据分布不一致时如何公平对比算法联邦学习在真实部署中几乎必然遇到非独立同分布数据而不同论文各自定义偏斜方式和评测口径结果往往无法直接互比。该基准的做法是把偏斜设置变成可控变量实验只通过partition参数切换标准设置模型结构、学习率、本地 epoch 数与通信轮数均有统一默认值。如果你的问题是某算法在何种偏斜下更稳健这里提供的是现成的对照环境而不是需要自行搭建的数据加载与切分代码。核心能力3 类偏斜、5 种算法、11 个数据集用一组参数模拟 3 类 Non-IID 偏斜标签分布偏斜固定标签数量的数量式、按 Dirichlet 分配的比例式、特征分布偏斜加性高斯噪声、合成 3D 数据、FEMNIST 按书写人划分与数量偏斜各方数据量按 Dirichlet 采样以及混合设置都可用--partition与--beta、--noise直接触发。切分逻辑集中在 partition.py 与 utils.py 的partition_data函数中产出的net_dataidx_map记录了每个参与方拿到的样本索引方便二次加工。5 种联邦学习算法并列对比内置 FedAvg、FedProx、SCAFFOLD、FedNova并在此后集成了 MOON切换算法只需修改--alg。各算法的收敛曲线与最终精度以统一格式输出README 里还附带 10 方 / 100 方、全量采样 / 10% 采样下的完整排行榜。上图对应 10 参与方、β0.5 的noniid-labeldir设置四条曲线分别来自上述四种基线算法。覆盖 11 个图像与表格数据集内置 MNIST、CIFAR-10、Fashion-MNIST、SVHN、生成式 3D 数据集、FEMNIST、adult、rcv1、covtype后续又补充了 CIFAR-100 与 Tiny-ImageNet。图像数据沿用partition_data完成切分表格 CSV 则由 partition.py 按表头中的Class列自动识别标签并切分为多个文件。单条命令实验与批量脚本一次运行经由 experiments.py 完成参数覆盖模型simple-cnn / vgg / resnet / mlp、参与方数量、通信轮数、采样比例、随机种子等run.sh 是一条可直接执行的 CIFAR-10 示例。scripts/目录提供了按数据集 × 划分方式 × 算法三层循环的批量脚本例如 image-data-without-noise.sh 可一次遍历 4 个图像数据集与 6 种划分适合夜间批量实验。适用场景四类典型用法对比算法在偏斜下的鲁棒性研究联邦学习算法的工程师可调整beta、noise、sample改变偏斜强度与系统规模在同一设置下横向读取各算法精度无需自行编写数据加载器。复现论文实验复现 ICDE 2022 论文结果的读者可直接采用 README 中的默认参数组合10 方 / 100 方、simple-cnn / VGG / ResNet并把init_seed改为 0、1、2 重复三次取平均与论文口径一致。切分自有 CSV 数据手里有表格数据、想构造 Non-IID 数据孤岛做本地验证时替换 partition.py 中的数据载入部分并指定标签列索引即可partition_to_file.sh给出了从切分到落盘的完整示例。参与挑战与排行榜项目方另设 NIID-Bench 挑战赛与排行榜可提交自研算法在上述标准设置上运行并与社区方法同榜比较。上手路径从 clone 到首次训练克隆代码仓库地址https://gitcode.com/gh_mirrors/ni/NIID-Bench通读 README 的参数表重点理解partition、beta、noise、sample四个偏斜控制参数执行 run.sh 完成首次冒烟训练CPU、10 方、CIFAR-10、FedNova批量实验前修改scripts/下的循环脚本并检查 config.py 中的优化器默认值其余可定位的入口datasets.py 负责数据集加载model.py 存放模型定义models/目录下还有 MNIST、SVHN、CelebA 的独立模型脚本。该基准把偏斜设置、算法、数据集三要素固化成一组可复用的统一变量实验结论因此更易复制、更易比较。需要在非独立同分布条件下快速验证算法想法时它是一条现成的路径。【免费下载链接】NIID-BenchFederated Learning Benchmark - Federated Learning on Non-IID Data Silos: An Experimental Study (ICDE 2022)项目地址: https://gitcode.com/gh_mirrors/ni/NIID-Bench创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表