Closed TigerAB1 closed 1 year ago
您好,@TigerAB1。首先感谢您对这个开源项目的认可。
关于您的问题,使用 --split user
会使得数据集切分成:训练客户和测试客户。训练客户中的数据全部用来训练模型;而测试客户则全部数据均用于测试模型。这样 finetune 功能就不跟 --split user
相容,因为 finetune 需要客户端上有训练用数据。
如果您有需要用到 finetune 功能,建议切分数据集时使用 --split sample
或不指定参数(sample
为默认参数) 。 --split sample
会使每个客户端都分配到训练数据和测试数据。
好的,感谢
您好,首先非常感谢您的开源精神和贡献,我在学习您的代码的时候我发现如果在生成数据的时候,如果我用--split user,那么在 ` def finetune(self): """ The fine-tune function. If your method has different fine-tuning opeation, consider to override this. This function will only be activated while in FL test round. """ self.model.train() for _ in range(self.args.finetune_epoch): for x, y in self.trainloader: if len(x) <= 1: continue