【FATE联邦学习】FATE 自定义Trainer

news2024/11/8 22:33:22

背景

自己定义了模型后,需要自行定义训练方式。

这里文档给了方法,但是大部分还是需要自己看源码摸索。

  • https://fate.readthedocs.io/en/latest/tutorial/pipeline/nn_tutorial/Homo-NN-Customize-Trainer/
  • https://fate.readthedocs.io/en/latest/tutorial/pipeline/nn_tutorial/Homo-NN-Trainer-Interfaces/
    文档写的也有疏漏哈哈,最后我还是自己找到了,就是上面2个链接:
    在这里插入图片描述

我的做法

federatedml.nn.homo.trainer里面加入自己的trainer。
我自己直接复制了原先的FedAvgTrainer的代码,然后改掉了train的代码成自己代码了。

有几个注意的点

  • Fateboard中打印loss:找callback_loss,参照FedAvgTrainer的代码加上就行,loss已经在base类里实现了,你也参考call back loss的代码可以直接新写个指标。

我碰到的坑是:必须float+cpu()一下、或者用item()取值才行,即便是我的torch版本是支持cuda的,不然报错。我的写法是self.callback(float(my_loss.cpu().detach()), idx),但是我打印了FedAvg的loss他本身是numpy类型的,但是我直接numpy()就不行。不知道怎么回事。

self.callback(my_loss.cpu().detach().numpy(), idx),不报错,但是Fateboard加载不出来
self.callback(my_loss, idx),报错,说cuda available是False,我真醉了

  • FedAvgTrainerfederation process是与是否收敛convergence相关的,加入那段代码能有快速结束训练的效果(达到收敛标准可立即结束,跟early stopping差不多)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/624280.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何按需下载和安装Win10补丁

如何按需下载和安装Win10补丁 一般我们都是通过系统自带的Windows更新来直接安装补丁,这种方式虽然方便,但是耗时久,而且更新体量也大,会占用很多空间,其实我们完全可以按需下载和安装,下面就给大家介绍方法…

FPGA量子类比机制-FPQA,将在量子运算设计中引发一场新的革命

1980年代现场可程式化逻辑门阵列(FPGA)的出现彻底改变了电子设计。大约40年后,现场可程式化量子位元阵列(FPQA)可望在量子运算电路设计中引发一场类似的革命。 1980年代现场可程式化逻辑闸阵列(FPGA)的出现彻底改变了电子设计。FPGA允许设计人员创建适合特定应用的…

3DCAT亮相糖酒会,为元宇宙展会提供实时云渲染支持

4月12日,第108届全国糖酒商品交易会(下文简称“糖酒会”)在成都正式开幕,吸引了众多酒类企业和行业人士的参与。 图片源自新华社 本次糖酒会上,某展会采用了“双线”模式,除了线下的实体展位,还…

burpsuite工具的使用(详细讲解)

一)前言 我已经在之前详细的说明了burpsuite的安装过程,如果不了解的可以看 burpsuite安装教程 :http://t.csdn.cn/uVx9X 在这了补充说明一下,在安装完burpsuite并设置完代理后,会出现如果访问的url是使用http协议的…

变频器需要定期更换的器件有哪些

导语:​变频器是由许多电子零件构成,例如半导体元件等,在使用和维护当中就涉及到更换部件的问题,由于变频器组成或物理特性的原因,在一定的时期内会产生劣化,因而会降低变频器的特性,甚至会引起…

python---实现一个简化版本的人生模拟器

1.游戏开始的时候,设定初始属性—颜值 体质 智力 家境 2.开始游戏,随机生成性别和出生点 3.针对每一年,都生成人生经历(依靠一定的随机因素当前角色属性) 需要import random一下 一些函数 代码的部分运行情况,由于代码过长此处不予展示!这个部分只写了幼年时期发生的事件!

分布式项目 12 用jsonp来完成单点登录功能(两个系统之间进行信息交互)

在项目中使用ctrlH ,来快速查找相关的hrl请求。 首先全部的请求会进过jt-web,在进行对其他系统的通信。 说明:当点击“登录”或者"免费注册"跳转到登录或者注册页面。 在jt-web项目中,声明UserController资源&#…

【建议收藏】自动化测试框架开发教程

在自动化测试项目中,为了实现更多功能,我们需要引入不同的库、框架。 首先,你需要将常用的这些库、框架都装上。 pip install requests pip install selenium pip install appium pip install pytest pip install pytest-rerunfailures pip …

Vue 项目环境搭建和创建准备工作

一. 学习目标 掌握 Vue 项目创建的依赖环境掌握 Vue 项目创建过程 二. 学习内容 掌握搭建 Vue 项目准备环境掌握 Vue 项目创建过程了解 Vue 项目各子目录 三. 学习过程 1. 准备工作 (1)安装Node.js 打开node.js官网:Node.js &#xff0…

SpringBoot中事务失效的六个原因

SpringBoot中事务失效的原因🚩 常见的事务失效原因包括如下六个: 1. 事务方法非public修饰 由于Spring的事务是基于AOP的方式结合动态代理来实现的。因此事务方法一定要是public的,这样才能便于被Spring做事务的代理和增强。 而且,在Spri…

uniapp 横向滑动list(不同内容)分部问题:scroll-view,swiper overflow-x

横向滑动list,可使用标签: 1:scroll-view 2:swiper 3:overflow-x 正常来讲横向滑动的话 ,需要特殊设置,只用view 设置display:flex,的话 无法横向滑动,右边的就会隐…

Melody 监控(四十九)

当新的世界出现,请立即向他奔去 上一章简单介绍了Spring Boot Actuator详解(四十八), 如果没有看过,请观看上一章 一. JavaMelody 一.一 什么是 Java Melody JavaMelody是一个方便的Java或JavaEE Web 应用程序监控工具。 它允许自动存储由 Web 应用程序的实际操…

我的GIT练习Four

目录 前言 GIT安装教程 Git作者 GIT优点 GIT缺点 为什么要使用 Git GIT练习Four C1:初始化项目 C2:设计项目首页 C3:设计登录页面 C4:实现登录功能 C5:设计后台页面 C6:设计注册页面 C7&#xf…

Yolov5轻量化:CVPR2023|RIFormer:无需TokenMixer也能达成SOTA性能的极简ViT架构

1.RIFormer介绍 论文:https://arxiv.org/pdf/2304.05659.pdf 本文基于重参数机制提出了RepIdentityFormer方案以研究无Token Mixer的架构体系。紧接着,作者改进了学习架构以打破无Token Mixer架构的局限性并总结了优化策略。搭配上所提优化策略后,本文构建了一种极致简单且…

第五期:字符串的一些有意思的操作

文章目录 1. 替换空格2. 字符串的左旋转3. 答案代码3.1 替换空格3.2 字符串的左旋转 PS:每道题解题方法不唯一,欢迎讨论!每道题后都有解析帮助你分析做题,答案在最下面,关注博主每天持续更新。 1. 替换空格 题目描述 请…

Microsoft SQL Server 2019 详细安装教程

文章目录 系列文章目录前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一、SqlServer2019安装步骤 双击运行好的setup.exe 选择安装,点击第一个全新独立安装 默认点击下一步 勾选介绍,点击下一步 点击下一步 点击下一步 勾选需要…

容器镜像分析工具dive

概述 dive是一个容器镜像分析工具,可以直观的看到容器每一层变动了哪些文件,每一层占用的磁盘空间,这样也就可以看到镜像的历史构建过程;同时也可以看到镜像的磁盘空间使用率,面对特别大的镜像文件是,可以…

问道手游-0基础架设教程

前言 本次教程使用的是问道魔改版的一个服务端、问道传奇、里面地图玩法基本与传奇类似 准备工具 1、Windows系统服务器一台 2、问道传奇服务端 开始架设 1、把准备好的问道传奇服务端解压到服务器D盘根目录记住必须得是根目录 不在根目录会导致快捷方式失效(服务器…

ChatGPT新突破:打造自己的智能机器人控制系统

💖 作者简介:大家好,我是Zeeland,全栈领域优质创作者。📝 CSDN主页:Zeeland🔥📣 我的博客:Zeeland📚 Github主页: Undertone0809 (Zeeland) (github.com)&…

【ArcGIS Pro二次开发】(35):三调三大类面积统计

根据《第三次全国国土调查技术规程》,三调中的地类可以归纳为土地管理法中规定的三大类用地。 我们可以在三调中直接统计出这三大类用地的面积。主要方法是在ArcGIS中将这三大类对应的用地提取出来,再进行统计。不过每次都要在复制一长串的筛选语句&…