首页 > 其他分享 >教师学生双网络

教师学生双网络

时间:2023-07-17 16:13:47浏览次数:21  
标签:opt 教师 ema backbone 网络 学生 state dict model

1. 声明教师,学生网络

backbone_model = Net(gps=opt.gps, blocks=opt.blocks)
backbone_model = backbone_model.to(device)
ema_model = Net(gps=opt.gps, blocks=opt.blocks)
ema_model = ema_model.to(device)

2. 教师网络不进行梯度更新

for param in backbone_model.parameters():
    param.requires_grad = True
for param in ema_model.parameters():
    param.requires_grad = False

3. 教师网络不进行梯度更新将input放入到教师网络中

with torch.no_grad():
    real_out = ema_model(real_hazy_img)

4. 将学生网络的参数传递到教师网络中

if opt.ema:
    state_dict_backbone = backbone_model.state_dict()
    state_dict_ema_model = ema_model.state_dict()
    for (k_backbone, v_backbone), (k_ema, v_ema) in zip(state_dict_backbone.items(), state_dict_ema_model.items()):
        assert k_backbone == k_ema
        assert v_backbone.shape == v_ema.shape
        if 'num_batches_tracked' in k_ema:
            v_ema.copy_(v_backbone)
        else:
            v_ema.copy_(v_ema * opt.momentum + (1. - opt.momentum) * v_backbone)  # momentum=0.999

5. 测试时进行两个教师、学生两个模型的测试

ssim_eval_1, psnr_eval_1, ssim_eval_2, psnr_eval_2 = test(backbone_model, ema_model, test_loader)
pred = backbone_model(input)
ema_pred = ema_model(input)

 

标签:opt,教师,ema,backbone,网络,学生,state,dict,model
From: https://www.cnblogs.com/yyhappy/p/17560386.html

相关文章

  • Linux网络编程(socket的udp通信)
    UDP是无连接的,即发送数据之前不需要建立连接,它尽最大努力交付,即不保证可靠交付,在一些要求实时性的通信中多有用到如游戏,视频等,UDP是面向报文的,有别于tcp的一对一通信,udp支持一对一、一对多、多对一和多对多的交互通信等。 一、udp通信用到的相关函数解析intsocket(intdoma......
  • 什么是生成式对抗网络
    生成式对抗网络(GenerativeAdversarialNetworks,GANs)是一种用于生成逼真图像、音频、文本等内容的深度学习模型。它由两个主要部分组成:生成器(Generator)和判别器(Discriminator)。生成器负责生成虚假的图像或数据样本,而判别器则负责判别输入的图像或数据样本是真实的还是生成器生成的......
  • 给vmware,ubuntu22配置桥接网络,并设置固定ip
    1、设置桥接网络      2、配置固定ip 2.1、确认版本,不同版本的linux配置的位置及文件是不同的root@ubuntu:/#lsb_release-a#进入虚拟机NoLSBmodulesareavailable.DistributorID:UbuntuDescription:Ubuntu22.04.2LTSRelease:22.04Coden......
  • Android 网络游戏开发入门简单示例
    在Android系统上开发是Android开发学习者所向往的,有成就感也有乐趣,还能取得经济上的报酬。那怎样开发Android网络游戏攻略呢?下面介绍一个简单的入门实例。一、创建新工程首先,我们在Eclipse中新建一个名为Movement的工程,并且选择合适的AndroidSDK,在这里,我们选用的API是比较......
  • 利于puppeteer获取网络资源的直链
    背景比如我想使用curl或者页面按钮点击直接下载个网盘资源,那就会出现问题。因为目前各大网盘给的分享链接都是一个页面,而且大部分还都做了防盗机制,你无法简单的获取真实下载连接!但是我们可以利用puppeteer来做到!蓝奏云lanzou-helper.jsimport{sleep}from'./index.js'......
  • Linux网络配置常用的基础命令(面试也经常提到)
    Linux网络配置常用的基础命令原创 weijishu 微技术之家 2023-07-1407:07 发表于上海通常情况下,不管什么操作系统,配置IP地址分为如下两类:动态DHCP模式:系统默认是DHCP也就是动态获取IP地址,这种有个坏处就是IP地址会经常变换。如果用连接工具的话,IP地址改变之后需要重......
  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-AES加密
    前言AES即高级加密标准(AdvancedEncryptionStandard),是一种对称密钥加密算法。它采用128、192和256位密钥,并且对明文进行分块加密。AES算法使用替换、置换、XOR和线性运算等基本加密算法,在加密和解密时都使用相同的密钥。AES算法主要分为四个步骤:密钥扩展、初始轮、重复轮和最终......
  • 洛谷 Luogu P1038 [NOIP2003 提高组] 神经网络
    这题看着很吓人实则很简单。求输出层,正着求很麻烦,因为知不道谁连向这个点,所以可以反向建边,反着求。拓扑+dfs,时间复杂度\(\text{O(n+m)}\)#include<iostream>#include<cstdio>#include<queue>#defineN105#defineM(N*N/2+114)structE{intv,w;......
  • 云原生虚拟网络之 VXLAN 协议
    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/687第一次认识VXLAN是在看k8s里面用到的叫flannel的网络插件有个VXLAN模式,利用它实现了OverlayNetwork(覆盖网络),可以把所有容器连通在一起。所以本篇文章,我们一起来看看VXLAN是......
  • 萤石网络领跑智能锁行业发展,斩获2023葵花奖五大奖项
    葵花奖作为国内智能家居评选“奥斯卡”,是备受业界关注的重要奖项。在2023年第七届“葵花奖”智能家居评选颁奖盛典上,作为科创板智能家居上市企业的萤石网络斩获多项荣誉,品牌备受关注的智能门锁业务更是夺得五项大奖。萤石网络自2016年开始进军智能门锁行业,多年来不断地对产......