首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Flower 1.28 升级指南:把模拟配置从 Flower Configuration 迁移到 SuperLink 层
📅 2026/9/17 1:25:51
✍️ 爱科研究院
👁 阅读 3,247
Flower 1.28 升级指南把模拟配置从 Flower Configuration 迁移到 SuperLink 层【免费下载链接】flowerFlower: A Friendly Federated AI Framework项目地址: https://gitcode.com/GitHub_Trending/flo/flowerFlower 1.28 的核心变化是统一了本地模拟与部署运行时Deployment Runtime两种场景下的 SuperLink 连接语法原本写在 Flower Configuration 文件中、以options.开头的模拟专属配置虚拟 SuperNode 数量、ClientApp 资源等被移除改为定义在执行模拟的 SuperLink 本身上并新增了address字段用于按需拉起托管的本地 SuperLink。读完本文你能完成从 Flower 1.26/1.27 到 1.28 的配置迁移掌握flwr config list、flwr federation list的用法并学会通过 CLI 持久化或按单次运行覆盖模拟参数。变更背景从 1.26 到 1.28 的演进脉络Flower 1.26 引入了Flower Configuration见 Flower Configuration 参考这是一套管理 SuperLink 连接的系统取代了旧版本pyproject.toml中的federations段。它把可复用的连接配置集中存放在$HOME/.flwr/config.toml由FLWR_HOME环境变量指定目录未设置时默认为$HOME/.flwr供所有 Flower App 和flwrCLI 命令共享。在 1.26/1.27 中模拟相关参数虚拟 SuperNode 数量、每个 ClientApp 的 CPU/GPU 资源等写在连接配置里以options.前缀区分。到 1.28官方收窄了模拟与部署两种运行时之间的语法鸿沟模拟配置的定义权下放到执行模拟的 SuperLink 层面对所有经由该 SuperLink 提交的模拟运行生效同时仍允许在每次运行时按需覆盖per-run override。这样无论使用哪种运行时定义 SuperLink 连接的方式保持一致。准备升级到 Flower 1.28迁移前请先升级客户端并确认版本$ pip install -U flwr[simulation] $ flwr --version # should show 1.28.x更新你的 Flower Configuration 文件第 1 步定位配置运行以下命令查看 Flower Configuration 文件路径及其已定义的 SuperLink 连接$ flwr config list示例输出Flower Config file: /path/to/your/.flwr/config.toml SuperLink connections: local (default) supergrid从源码看该命令实现在 flwr config list它通过read_flower_config()加载配置文件读取[superlink]表弹出default键后将剩余键作为连接名打印并高亮标记默认连接。第 2 步查看 1.26/1.27 风格的旧配置打开配置文件旧版本中模拟专属设置以options.前缀出现在连接表内例如# config.toml1.26/1.27 风格 [superlink] default local [superlink.supergrid] address supergrid.flower.ai [superlink.local] options.num-supernodes 10 options.backend.client-resources.num-cpus 2 options.backend.client-resources.num-gpus 0.0第 3 步移除options.设置并添加address字段删除或注释掉[superlink.local]段下所有options.开头的字段——这些设置现已上移到 SuperLink 层将对使用该 SuperLink 的所有模拟运行生效同时新增address :local:字段用于在提交运行时按需拉起一个托管的 SuperLink。更新后# config.toml1.28 风格 [superlink] default local [superlink.supergrid] address supergrid.flower.ai [superlink.local] address :local: # options.num-supernodes 10 # or remove this line # options.backend.client-resources.num-cpus 2 # or remove this line # options.backend.client-resources.num-gpus 0.0 # or remove this line关于:local:的补充说明来自源码与 Flower Configuration 参考:local:是魔法地址值源码中定义为LOCAL_SUPERLINK_ADDRESS_MAGIC_VALUE见 flwr/cli/constant.py。使用该值的 CLI 命令通过 Control API 与 SuperLink 通信flwr run提交运行时Flower 会按需自动启动后台本地 SuperLink并在flwr list、flwr log、flwr stop之间复用同一实例。若你的本地文件系统是网络盘如 NFSSQLite 锁或性能可能出问题可改用address :local-in-memory:LOCAL_SUPERLINK_ADDRESS_MAGIC_VALUE_IN_MEMORY让 SuperLink 使用内存数据库代价是停止后本地运行历史与日志会丢失。完整的本地工作流包括后台进程行为、运行时文件位置、如何停止本地 SuperLink见 Run Flower Locally with a Managed SuperLink。查看托管本地 SuperLink 的模拟配置注意本节的示例假设你本地没有正在运行的 SuperLink。如果有请先停止它参见 how-to-run-flower-locally.rst 中停止本地 SuperLink 的章节。移除options.字段后你可能会问模拟配置去哪了下面用两条命令确认你的连接指向的是一个可用于模拟的托管本地 SuperLink并查看其当前模拟配置。第 1 步确认 Federation 的运行时类型$ flwr federation list Listing federations... ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┓ ┃ Federation ┃ Description ┃ Runtime ┃ Status ┃ ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━┩ │ none/default │ A federation for testing and development purposes. │ simulation │ active │ └───────────────┴────────────────────────────────────────────────────┴────────────┴────────┘关注Runtime列显示为simulation说明当前 Federation 由模拟运行时驱动。从源码看flwr federation list 命令Runtime列的取值正是根据federation.simulation布尔字段渲染为simulation或deployment。第 2 步查看具体模拟参数$ flwr federation list --federationnone/defaultSimulation Configuration ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓ ┃ Setting ┃ Key ┃ Value ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━┩ │ Number of Simulated SuperNodes │ num-supernodes │ 10 │ ├────────────────────────────────┼───────────────────────────┼───────┤ │ ClientApp Resources (CPUs) │ client-resources-num-cpus │ 2 │ ├────────────────────────────────┼───────────────────────────┼───────┤ │ ClientApp Resources (GPUs) │ client-resources-num-gpus │ 0.0 │ ├────────────────────────────────┼───────────────────────────┼───────┤ │ Backend Name │ backend │ ray │ └────────────────────────────────┴───────────────────────────┴───────┘当前配置与迁移前写在config.toml中的值一致10 个虚拟 SuperNode、每个 ClientApp 2 核 CPU、0 GPU、Ray 后端。该表格由_to_simulation_config_table()渲染framework/py/flwr/cli/federation/ls.py其中 Key 列正是后续可用 CLI 覆盖的设置名。修改模拟配置持久化设置与按运行覆盖1.28 提供了两种修改方式均记录在 Run simulations 参考的 Customize the Simulation Runtime 章节方式一用flwr federation simulation-config持久化设置flwr federation simulation-config \ --num-supernodes 100 \ --client-resources-num-cpus 4 \ --client-resources-num-gpus 0.25之后所有提交到该 SuperLink 的模拟默认使用上述配置。该命令实现于 simulation_config 命令它构造ConfigureSimulationFederationRequest并通过 Control API 的stub.ConfigureSimulationFederation下发。源码中可确认的完整可配置选项及约束为选项含义约束--num-supernodes虚拟 SuperNode 数量min1--client-resources-num-cpus每个 ClientApp 的 CPU 数min1--client-resources-num-gpus每个 ClientApp 的 GPU 显存比例min0.0--verbose以详细日志运行模拟运行时布尔值--backend-name后端名称当前仅支持ray--init-args-num-cpus/--init-args-num-gpus限制整个模拟运行时可用的 CPU/GPU 总数分别为min1/min0--init-args-logging-level控制模拟运行时日志级别字符串--init-args-log-to-driver是否向上传播模拟运行时日志true/false注意至少必须提供一个选项否则命令会抛出click.UsageError见 源码校验逻辑。方式二flwr run --federation-config按单次运行覆盖flwr run . --federation-confignum-supernodes256 client-resources-num-cpus1该标志接受与flwr federation simulation-config相同的选项但写成单个字符串且不带--前缀本次运行的值会覆盖 SuperLink 的默认配置。关于资源分配的提醒来自 Run simulationsclient-resources-*资源是软分配主要用于控制 ClientApp 的并发度而非硬性隔离——若某个 ClientApp 实际显存占用超出设定如设定 25% 实际用了 50%可能引发其他 ClientApp 出现 OOM 错误。默认模拟配置为 2 个虚拟 SuperNode、每个后端 worker 2 核 CPU并行 ClientApp 数上限约为min(floor(SYS_CPUS/num_cpus), floor(SYS_GPUS/num_gpus))。迁移核对清单flwr --version显示 1.28.xconfig.toml中所有连接不再包含options.字段本地连接已设置address :local:或:local-in-memory:flwr config list能正常列出连接且默认连接无变化若本地原有 SuperLink 在跑先停止再执行flwr federation list确认 Runtime 为simulation用flwr federation list --federationnone/default核对参数符合预期必要时用flwr federation simulation-config持久化或--federation-config按运行覆盖。相关文档Flower Configuration 参考、Run simulations、Run Flower Locally with a Managed SuperLink。【免费下载链接】flowerFlower: A Friendly Federated AI Framework项目地址: https://gitcode.com/GitHub_Trending/flo/flower创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/17 1:25:51
Home Assistant 实战:telegram_bot.send_animation 动作详解——通过 Telegram 机器人向聊天发送 GIF 动画
2026/9/17 1:25:51
硬件工程师四步法:从读图到量产的信号路径与可靠性实战
2026/9/17 1:20:50
Hive高效拆分多值字段:split+explode+lateral view实战指南
2026/9/17 3:21:04
Windows下用Docker Desktop部署Nginx的完整实践指南
2026/9/17 3:21:04
C++图书管理系统从课设到落地:数据模型与文件持久化全解析
2026/9/17 3:21:04
链表重复节点删除全解析:从哈希到归并排序的工程选型
2026/9/17 3:21:04
手机AI Agent实战:屏幕操作自动化的观测、执行与验证闭环
2026/9/17 3:21:04
多数元素查找全攻略:从哈希计数到摩尔投票的算法进阶之路
2026/9/17 3:16:04
GameDevMind 一站式手游创业:三大资产系统与从“想做“到“上线盈利“的完整闭环
2026/9/17 0:00:44
开学论文写作指南:核心框架梳理与高效完成技巧分享
2026/9/17 0:00:44
OpenMAIC:轻量级多Agent教学框架实战指南
2026/9/17 0:00:44
AWS无服务器应用开发指南:从Lambda到SAM的架构与实践
2026/9/16 18:36:59
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/16 7:38:03
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/16 1:54:57
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化