项目简介
这是一个基于Python的分布式MQTT权重聚合系统,主要用于在分布式训练环境里收集并聚合各个节点的权重数据。该系统借助MQTT协议与各训练节点通信,可实现权重数据的实时收集与聚合,同时支持动态添加训练节点,能在接收到节点结束训练的信号后完成权重聚合。
项目的主要特性和功能
- 连接与订阅:程序连接指定的MQTT服务器,并订阅
/get-weights
和/add-participant
两个主题。 - 回调函数处理:定义
on_message
和on_connect
两个回调函数,分别处理接收到的MQTT消息以及连接成功后的操作。 - 权重聚合:接收到
get-weights
主题的消息时,触发权重聚合并发送权重,同时收集和存储其他节点的权重数据。 - 动态添加节点:接收到
add-participant
主题的消息时,添加新的训练节点,并订阅该节点的主题。 - 文件数据加载:程序启动时,若
data.txt
文件存在,会将其中的权重数据加载到weightsFinal
。 - 永久循环:启动永久循环,等待并处理MQTT消息。
安装使用步骤
安装依赖
需要安装paho-mqtt
库,用于MQTT通信。
运行程序
运行mqtt.py
文件,指定MQTT服务器地址(BROKER_HOST
)和其他必要的参数。
注意事项
- 确保MQTT服务器正常运行,且已配置好必要的主题和权限。
- 程序需要网络连接以与MQTT服务器通信。
- 正确设置文件的读写权限,确保程序能够读取和写入
data.txt
文件。
下载地址
点击下载 【提取码: 4003】