Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

中央服务器发送给每个本地客户端的数据不一样,要怎么用这个框架实现呀,谢谢🙏 #34

Open
Aston-zeal opened this issue Jun 28, 2023 · 6 comments

Comments

@Aston-zeal
Copy link

我看了涉及到通信相关的函数,是communicate()和communicate_with()函数,不知道要怎么改,感觉这两个函数,中央服务器只能统一发送一致的数据给每个本地客户端,感觉不能根据不同的客户端发送不同的数据,请问能实现中央服务器发送给每个本地客户端的数据不一样吗

@Aston-zeal
Copy link
Author

也特别感谢作者能开源这个框架,我用下来感觉很方便

@WwZzz
Copy link
Owner

WwZzz commented Jun 29, 2023

你好,服务器的communicate_with函数接收参数package,这个package由BasicServer.pack函数生成。pack函数接受参数client_id,然后返回一个字典变量。因此,服务器可以在pack函数内部根据client_id为用户生成定制化的包裹(字典)。

@Aston-zeal
Copy link
Author

你好,服务器的communicate_with函数接收参数package,这个package由BasicServer.pack函数生成。pack函数接受参数client_id,然后返回一个字典变量。因此,服务器可以在pack函数内部根据client_id为用户生成定制化的包裹(字典)。

多谢回答,我早上也注意到可以在pack函数里根据不同的客户端ID来实现了,那我如果要修改每个客户端的训练数据,是不是可以在get_batch_data这个函数里实现修改训练数据,比如数据增强之类

@WwZzz
Copy link
Owner

WwZzz commented Jun 29, 2023

数据增强的话在get_batch_data里做可能会比较麻烦?数据增强是对feature的随机变换,在train函数里得到数据后,这时候对feature应用transform代码量可能会比较少;另一方面也可以直接在initialize函数里修改数据集本身,即self.train_data,写一个数据增强类来封装一下

@Aston-zeal
Copy link
Author

数据增强的话在get_batch_data里做可能会比较麻烦?数据增强是对feature的随机变换,在train函数里得到数据后,这时候对feature应用transform代码量可能会比较少;另一方面也可以直接在initialize函数里修改数据集本身,即self.train_data,写一个数据增强类来封装一下

我懂了,多谢🙏

@Aston-zeal
Copy link
Author

这是个很不错的轻量级现成的联邦学习框架

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants