-
Notifications
You must be signed in to change notification settings - Fork 21
utils
desperadoccy edited this page May 28, 2024
·
2 revisions
该模块下主要包含了一些常用的工具函数,方便用户进行一些常用的操作。
该文件存储一些常见通用算法。
该文件下有一个适用于多线程的计时器类。
该文件帮助mac用户解决了在多线程中使用queue.Queue()时出现的问题。
- CustomDataset:自定义封装数据集类
- FLDataset: FL数据集类,使用index对原始数据集进行划分
- download_dataset: 下载并解压数据集的函数
- other: 其余一些用于处理data的函数
一个用于全局获取变量的类,可以在多线程中使用。
现方法将其存储在os.argv
中,可在多进程中使用。
运行main函数之后,可以通过GlobalVarGetter.get()
获取全局变量dict,该dict中存储了如下变量:
-
config
: 读取的配置文件 -
global_config
: 读取的全局配置文件 -
server_config
: 读取的服务器配置文件 -
client_config
: 读取的客户端配置文件 -
client_manager_config
: 读取的客户端管理器配置文件 -
queue_manager_config
: 读取的队列管理器配置文件 -
client_staleness_list
: 客户端延迟列表 -
client_index_list
: 客户端数据集分布列表 -
server
: 服务器对象 -
server_network
: 服务器模型 -
current_t
: 当前聚合迭代轮数 -
schedule_t
: 当前调度次数 -
T
: 全局迭代总次数 -
queue_manager
: 队列管理器对象 -
scheduler
: 调度器对象 -
updater
: 聚合器对象
数据集划分函数,用于划分数据集。
根据配置文件中的path
字段,查找对应的类。
画图函数,提供了绘画实验对比图和数据分布图的函数。
提供了一个随机函数。
提供了一些数据结构。
提供了一些常用的工具函数,如Json文件读取,list转dict,dict转list等。
Getting Started - 整体流程 - Module Guide - 现有算法 - Contact Us