当前位置: 首页 > news >正文

【FATE联邦学习】FATE联邦学习使用GPU、指定cuda下标

问题

FATE框架1.x支持GPU训练吗?

寻找

先看了官网,搜官网,发现还是有的。
在这里插入图片描述打开第一个后,里面可以用training param指定各个client的训练GPU,但是好像都是在large language model的。
在这里插入图片描述而在文档中搜寻到的gpu,其实是release的版本说明,里面搜来搜去,也是只有跟LLM相关的。莫非是一开始就支持GPU?我希望找到具体什么地方验证了FATE支持/不支持GPU

在官方群里提问后,群友提供了一个文档,说横向的联邦是支持GPU的,并且给了example:https://github.com/FederatedAI/FATE/blob/master/doc/tutorial/pipeline/nn_tutorial/README.md,简单把所有example搜了下gpu这个关键字,没有说明。。

淦,那就先探索一下这个trainer param吧,搜索文档后,只有简单的几行代码,这能看出来个毛。

def __init__(self, trainer_name=None, **kwargs):super(TrainerParam, self).__init__()self.trainer_name = trainer_nameself.param = kwargs

结果在他源码https://github.com/FederatedAI/FATE/blob/master/python/federatedml/param/homo_nn_param.py里面,还真就只有这么些代码

class TrainerParam(BaseParam):def __init__(self, trainer_name=None, **kwargs):super(TrainerParam, self).__init__()self.trainer_name = trainer_nameself.param = kwargsdef check(self):if self.trainer_name is not None:self.check_string(self.trainer_name, 'trainer_name')def to_dict(self):ret = {'trainer_name': self.trainer_name, 'param': self.param}return ret

可是他在调用的时候是写了这么多的。他既没有告诉我有什么kwargs,也没告诉我每个kwargs是什么作用,会有什么结果。感觉文档的提升空间还是有的。。好不方便啊。不但没明说GPU的支持与否,参数的具体意义和选项也没有给全(或者说给个全参数指引链接也好呀)。

trainer_param = TrainerParam(trainer_name='fedavg_trainer', epochs=1, batch_size=8, data_loader_worker=8, secure_aggregate=True, cuda=0)

解决

我是在/federatedml/param/homo_nn_param.py下找到的这个trainer param类,所以他大概率只能支持homo nn的场景。

使用的方法,根据文档,应该是通过trainer param类,把param给传入然后带动训练过程。
例子可以参考这个里面的例子,homo nn场景应该每个例子都会有trainer_param类,加入cuda=0这个参数应该就可以使用GPU了。

后续真实场景我会再测试

  1. 此参数 是否真是有效,通过查看GPU使用
  2. hetero场景能否使用GPU

到时再来更新。

http://www.lryc.cn/news/62564.html

相关文章:

  • 英文数字表达
  • 第11届蓝桥杯省赛真题剖析-2020年6月21日Scratch编程初中级组
  • 部署LVS-NAT群集实验
  • 对待工作的九个级别
  • 第四章 存储结构与管理硬盘
  • 【腾讯云-2】极简搭建边缘集群
  • 在springboot中给mybatis加拦截器
  • [oeasy]python0139_尝试捕获异常_ try_except_traceback
  • 树的刷题,嗝
  • 举个栗子~Tableau 技巧(253):让筛选器只显示全部以及需要的类别
  • 服务器温度过高告警
  • 反垃圾邮件产品测试评价方法示意图
  • 基于vfw的局域网语音聊天室系统源码论文
  • GoogleTest : 测试框架(单元测试)
  • 商业银行财富管理“智能原生”能力呈阶梯化,AI助力商业模式趋向多元化发展
  • 2022年中国云市场份额:阿里云腾讯云下降
  • Redis入门学习笔记【二】Redis缓存
  • go1.20环境安装以及beego框架配置
  • vue---组件逻辑复用方法:Mixin/HOC/Renderless组件
  • 阳光万里,祝你上岸——免统考在职研究生
  • 大孔树脂型号,A-722,ADS500,ADS600,ADS750,ADS800
  • MATLAB在逐渐被Python淘汰吗?
  • 黑盒测试过程中【测试方法】讲解1-等价类,边界值,判定表
  • 函数栈帧的创建和销毁
  • 测试Ocr工具IronOCR(续:编写图片圈选程序)
  • React之Redux的使用
  • 数据库系统概论--第五章课后习题
  • 小程序开发费用估算:如何控制项目成本?
  • 【22】linux进阶——文本处理工具:cut、awk、sed
  • Web3D包装生产线 HTML5+Threejs(webgl)开发