Federated Vision Datasets 深度指南:面向真实数据分布联邦视觉分类的数据切分、格式与检查工具
人工智能深度学习NLP计算机视觉强化学习【免费下载链接】google-researchGoogle Research项目地址https://gitcode.com/gh_mirrors/go/google-research点击查看免费下载导读本文围绕 Google Research 仓库中 federated_vision_datasets 目录系统讲解由论文《Federated Visual Classification with Real-World Data Distribution》ECCV 2020发布的联邦学习视觉数据切分涵盖 Landmarks、iNaturalist、CIFAR 五大数据集的规模统计、CSV 文件格式约定、下载方式以及配套的 inspect_splits.py 检查工具。读完本文你将掌握这些真实用户分布数据切分的字段语义与解析逻辑能够在自己的联邦学习尤其是 TensorFlow Federated实验中正确加载、校验并引用这些数据。背景为什么要用真实数据分布的视觉切分传统联邦学习基准通常采用随机划分或人为模拟的非独立同分布Non-IID数据而真实世界的联邦数据天然围绕用户组织——不同用户拍摄的照片风格、场景、类别偏好差异极大。该项目正是为了弥合这一差距由 Tzu-Ming Harry Hsu、Hang Qi、Matthew Brown 在 ECCV 2020 发表的论文中将大规模视觉数据集按真实世界的数据所有者进行切分直接以用户为基本划分单位从而在联邦学习实验中获得更贴近真实场景的客户端数据分布。仓库本身只发布数据切分split文件不直接分发图片。所有切分均以 CSV 形式提供图片需要从各自源数据集另行下载这样的设计保证了切分文件的轻量与源数据集版权的独立性。数据集总览仓库共提供五个数据切分覆盖三个源数据集Google Landmarks Dataset v2、iNaturalist 2017、CIFAR-10/100。下表完整汇总了各切分的用户数、类别数与样本数数据取自 README.md数据集用户数类别数样本数分片下载文件TFF 支持Landmarks-User-160k1,2622,028164,172landmarks-user-160k.zip是TFF gldv2 文档iNaturalist-User-120k9,2751,203120,300inaturalist-user-120k.zip是TFF iNaturalist 文档iNaturalist-Geo11 到 3,6061,203120,300inaturalist-geo.zip是TFF iNaturalist 文档CIFAR-1010010050,000cifar10_v1.1.zip否CIFAR-10010010050,000cifar100_v1.1.zip否对上述数据可以得出几个直观结论Landmarks-User-160k面向地标识别1,262 个用户、2,028 个类别平均每用户约 130 张图片客户端类别覆盖相对稀疏iNaturalist-User-120k与iNaturalist-Geo样本数相同120,300但划分依据截然不同前者按用户9,275 人划分后者按**地理单元格geo cell**划分用户数在 11 到 3,606 之间浮动——这正是以真实世界数据分布划分的典型体现CIFAR-10/100为合成划分各拆成 100 个用户而非论文数据集原本的 10/100 类别类别数一栏是论文中重标注后的类别标签口径。下载时需要注意README 提示部分浏览器可能需要在新标签页中打开下载链接才能触发下载或者直接复制链接地址后用命令行工具如wget获取。数据分片文件格式train / test 的列约定切分文件按训练/测试分开存放命名约定如下训练分片federated_train*.csv不同划分策略如 alpha 值、地理划分对应不同文件名测试分片test.csv。CSV 文件包含以下列见 README.md 的 File Format 小节列名含义适用范围user_id联邦学习中属于同一用户的图片共享同一 id可以是数字 id、地理单元格标识也可以是图片作者名。测试分片不包含此列训练分片image_id源数据集中的图片 id用于从源数据集检索对应图片训练/测试class论文所用联邦视觉分类任务的类别标签训练/测试label源数据集中的原始类别标签仅 iNaturalist这里有一个容易被忽略的关键点user_id只在训练分片中给出。因为测试阶段模拟的是新用户的图片联邦学习评测需要看模型能否泛化到训练中未见过用户的分布上。不同数据集的列数差异源码视角从 inspect_splits.py 的get_parser()可以看到虽然 README 统一描述了上述列但具体 CSV 的列数因数据集而异iNaturalist训练行有 4 列user_id, image_id, class_id, label测试行有 3 列image_id, class_id, label多了源数据集原始labelLandmarks 与 CIFAR训练行有 3 列user_id, image_id, class_id测试行只有 2 列image_id, class_id。源码中cifar直接复用了landmarks_parser注释landmarks and cifar uses the same parser说明两个数据集的 CSV 结构完全一致。这一差异意味着如果你绕开工具自行解析 CSV必须先确认数据集类型再决定按 3 列还是 4 列读取。使用 inspect_splits.py 检查数据分片仓库提供了一个轻量级工具 inspect_splits.py用于解析 CSV 并输出数据集整体统计信息用户数、图片数、类别数便于在训练前快速校验分片文件的完整性与划分规模。环境依赖工具依赖极简只需 requirements.txt 中声明的absl-py0.6.0安装后即可运行pip install absl-py命令行参数参数类型可选值/说明是否必填--dataset枚举landmarks默认、inat、cifar决定 CSV 解析器必填--train_file字符串训练分片 CSV 路径二选一或同时提供--test_file字符串测试分片 CSV 路径二选一或同时提供约束--train_file与--test_file至少提供其一若都未提供程序会打印提示并退出见 main 函数。示例用法# 检查 CIFAR-10 alpha-0 划分的训练分片与测试分片 $ python inspect_splits.py --datasetcifar \ --train_filecifar10/federated_train_alpha_0.00.csv \ --test_filetest.csv # 查看详细参数说明 $ python inspect_splits.py --help输出与实现逻辑解读工具的两个核心函数分别处理训练与测试分片inspect_train_file()跳过表头后逐行解析用collections.Counter统计user_image_counter每个用户的图片数、unique_images去重后的图片 id与unique_classes去重后的类别最终输出Train file: cifar10/federated_train_alpha_0.00.csv 100 users. 50,000 images. 100 classes.inspect_test_file()测试分片没有user_id列因此只统计去重后的图片数与类别数。实现上还做了两类健壮性处理文件不存在时打印Error: file does not exist.并直接返回所有统计都基于set去重因此可以避免同一图片 id 在 CSV 中重复出现导致的统计虚高。这套先校验后训练的流程对于复现论文实验、或验证自己重新打包的分片文件是否合规都非常实用。图片获取源数据集与 TFF 自动下载仓库不随分片文件分发任何图片。使用分片文件时图片必须从源数据集自行下载Google Landmarks Dataset v2Landmarks 切分iNaturalist 2017iNaturalist-User-120k 与 iNaturalist-Geo 切分CIFAR-10/100CIFAR 切分。README 特别提示这些源数据集与图片可能使用不同的许可证与使用条款仓库不拥有其版权使用者需自行确认合规性。如果使用TensorFlow FederatedTFF情况会简化很多README 明确说明在 TFF 中以数据集 API 形式加载如 Landmarks v2 与 iNaturalist 数据集时框架会自动从源数据集下载图片无需手动拼接image_id与图片文件。这也是该项目与 TFF 生态衔接最顺畅的路径。论文引用若在你的研究中使用了这些数据切分请按以下 BibTeX 引用见 README.md 的 Paper 小节inproceedings{hsu2020federated, author {Tzu-Ming Harry Hsu and Hang Qi and Matthew Brown}, title {{Federated Visual Classification with Real-World Data Distribution}}, booktitle {Proceedings of the European Conference on Computer Vision (ECCV)}, month {August}, year {2020} }Changelog 与版本注意事项README 记录了两次重要更新Changelog 小节2022 年 1 月 10 日修复了 CIFAR-10/100 的图片 id新版压缩包文件名带v1.1后缀即上表中的cifar10_v1.1.zip、cifar100_v1.1.zip。如果你的旧代码引用了不带v1.1的旧版本文件需要注意重新下载避免 image id 与源数据集对不上同日新增了 Landmarks 与 iNaturalist 数据集在 TFF 中的托管链接方便 TFF 用户直接以数据集 API 加载。这提醒使用者下载分片文件时请认准带v1.1后缀的 CIFAR 版本而 Landmarks 与 iNaturalist 的切分至今没有版本变动可直接使用。总结federated_vision_datasets提供了一套以真实世界用户分布为核心的联邦视觉分类数据切分配合 inspect_splits.py 可以快速完成格式校验与规模统计。其核心实践要点可归纳为三条训练/测试分片文件分离且test.csv无user_id列iNaturalist 多一列原始label解析时必须按数据集类型选择解析器图片需要从源数据集获取若走 TFF 数据集 API 则可自动完成下载。理解这些约定是复现 ECCV 2020 该论文实验、或在其切分之上开展联邦视觉研究的第一步。赞分享人工智能深度学习NLP计算机视觉强化学习【免费下载链接】google-researchGoogle Research项目地址https://gitcode.com/gh_mirrors/go/google-research点击查看免费下载相关推荐Flower Datasets 本地数据联邦化实战用 Partitioner 切分 CSV、JSON、图像、音频与内存数据Flower Datasets 本地数据联邦化实战用 Partitioner 切分 CSV、JSON、图像、音频与内存数据 本指南以 Flower Datas人工智能联邦学习机器学习深度学习Flower Datasetsflwr-datasets联邦学习数据集下载、划分与可视化的完整使用指南Flower Datasetsflwr datasets联邦学习数据集下载、划分与可视化的完整使用指南 Flower Datasets flwr dat人工智能联邦学习机器学习深度学习ClickHouse多数据源联邦查询实战指南5分钟实现跨数据库联合分析ClickHouse多数据源联邦查询实战指南5分钟实现跨数据库联合分析 ClickHouse多数据源联邦查询功能让数据分析师能够轻松实现跨数据库的联合分析。作数据库OLAP列式数据库大数据实时分析数据分析上一篇如何用Ant Design React Query v5构建现代化数据管理界面从入门到精通下一篇50%提速DeepSeek-V3混合精度推理实践FP8与BF16的平衡艺术创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考