尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Flower 1.28 升级指南:把模拟配置从 Flower Configuration 迁移到 SuperLink 层
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),仅供参考
RELATED

相关推荐

OpenCV视频保存实战:VideoWriter与fourcc编码格式详解

OpenCV视频保存实战:VideoWriter与fourcc编码格式详解

做OpenCV视频处理的时候,不少人会遇到这样一个情况:cv2.VideoCapture()能正常读帧,画面也能一帧一帧地显示出来,但一旦想把它存成视频文件,要么直接报错,要么生成一个0字节的mp4,折腾半天还不知…

📅 2026/9/17 1:20:40
Volcano Agent Scheduler 调度队列深度解析:Kubernetes 调度队列的移植、定制与升级实践

Volcano Agent Scheduler 调度队列深度解析:Kubernetes 调度队列的移植、定制与升级实践

Volcano Agent Scheduler 调度队列深度解析:Kubernetes 调度队列的移植、定制与升级实践 【免费下载链接】volcano A Cloud Native Batch System (Project under CNCF) 项目地址: https://gitcode.com/GitHub_Trending/vol/volcano Volcano 的 Agent Schedul…

📅 2026/9/17 1:20:40
Slate v2 Exact Ledgers:为编辑器框架迁移建立逐文件精确映射台账的实战方案

Slate v2 Exact Ledgers:为编辑器框架迁移建立逐文件精确映射台账的实战方案

Slate v2 Exact Ledgers:为编辑器框架迁移建立逐文件精确映射台账的实战方案 【免费下载链接】plate Rich-text editor with AI and shadcn/ui 项目地址: https://gitcode.com/GitHub_Trending/pl/plate 导读 本文基于 Slate v2 Exact Ledgers Plan 这一计划…

📅 2026/9/17 1:20:40
MORE NEWS

更多资讯

📰

基于土壤湿度控制继电器的 Wio Terminal 实战指南(IoT-For-Beginners 自动化植物浇水项目)

基于土壤湿度控制继电器的 Wio Terminal 实战指南(IoT-For-Beginners 自动化植物浇水项目) 【免费下载链接】IoT-For-Beginners 12 Weeks, 24 Lessons, IoT for All! 项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners 导读 …

📰

VisionMaster授权更新报错“本地LM通讯出错”排查与解决

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Sanity React 性能规则详解:订阅派生布尔状态,降低组件重渲染频率

Sanity React 性能规则详解:订阅派生布尔状态,降低组件重渲染频率 【免费下载链接】sanity Sanity Studio – Rapidly configure content workspaces powered by structured content 项目地址: https://gitcode.com/GitHub_Trending/sa/sanity 本文基于 Sanity 单仓内置…

📰

FPGA加法器实验全解析:从Verilog代码到上板调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

国产低噪声LDO LTP7792实测:从参数到ADC供电设计避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

cvtColor内存泄漏排查:从Mat生命周期到输出缓冲区复用

从目录自检到图表:一篇偏重实操的"cvtColor与内存泄漏"排查记录先说结论:我查过不少“cvtColor内存泄漏”的报障,最后发现绝大多数都不是cvtColor本身泄漏,而是使用方对OpenCV Mat生命周期、输出缓冲区复用和容器清理的…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬