def HardLabelVoteOneHotall_client_hard_label class_cat client_cnt = lenall_client_hard_label sample_cnt = lenall_client_hard_label0 pred_labels = all_vote_tensor = label_votes_none_cn
HardLabelVoteOneHot函数的功能是将所有客户端的硬标签进行投票,并将投票结果转化为one-hot形式的张量返回。
函数的输入参数为all_client_hard_label(包含所有客户端的硬标签的列表)和class_cat(类别的数量)。
函数首先获取客户端数量和样本数量,并初始化预测标签列表pred_labels和投票张量all_vote_tensor。然后,遍历每个样本,统计每个类别的投票数。如果某个样本的所有类别都没有投票,则将label_votes_none_cnt加1。接着,找到投票数最多的类别,并将其作为预测标签添加到pred_labels中。
接下来,根据pred_labels生成所有样本的one-hot形式的张量all_one_hot_tensor,并将其转化为torch.tensor类型的all_vote_tensor。
最后,打印预测标签的长度,并返回all_vote_tensor。
原文地址: https://www.cveoy.top/t/topic/je5L 著作权归作者所有。请勿转载和采集!