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

有高并发 高访问量网站开发阿里云网站空间主机

有高并发 高访问量网站开发,阿里云网站空间主机,网站开发开题报告计划进度安排,汉中微信网站建设服务由于项目需要训练一个主干网络接多个分支的模型#xff0c;所以先训练一个主干网络加第一个分支#xff0c;再用另外的数据训练第二个分支#xff0c;训练的过程中需要冻结主干网络部分#xff0c;后面的分支训练过程也一样需要冻结主干网络部分。 冻结模型的方式 for nam… 由于项目需要训练一个主干网络接多个分支的模型所以先训练一个主干网络加第一个分支再用另外的数据训练第二个分支训练的过程中需要冻结主干网络部分后面的分支训练过程也一样需要冻结主干网络部分。 冻结模型的方式 for name, para in model.named_parameters():# 冻结backbone的权重if name.split(.)[0] backbone:para.requires_grad False # 或者用para.requires_grad_(False)一个是通过属性直接赋值一个是通过函数赋值else:para.requires_grad True# 可以打印需要更新梯度的参数 for name, value in model.named_parameters():print(name, \t更新梯度,value.requires_grad)坑1这样做并不能冻结batchnorm层的参数所以需要在训练中手动冻结。如 def fix_bn(m):classname m.__class__.__name__if classname.find(SyncBatchNorm) ! -1 or classname.find(InstanceNorm2d) ! -1 or classname.find(BatchNorm2d) ! -1: #SyncBatchNorm, InstanceNorm2dif m.num_features in [32, 64, 96, 128, 256, 384, 768, 192, 1152, 224]: # 需要冻结的BN层的通道数m.eval()def train():for epoch in range(max_epoch):model.train()if args.freeze:model.apply(fix_bn)model.backbone[5][0].block[0][1].eval() # 假如需要冻结的BN层通道数和不需要冻结的BN层通道数一样则需要单独写for batch_idx, (data, target) in enumerate(train_loader):... 坑2用了冻结训练freeze就不要用EMA方式更新模型了不然收敛缓慢不说还会造成前面冻结的参数产生变化可以从EMA的代码看出端倪 class EMA:def __init__(self, model, decay0.9999):super().__init__()import copyself.decay decayself.model copy.deepcopy(model)self.model.eval()def update_fn(self, model, fn):with torch.no_grad():e_std self.model.state_dict().values()#m_std model.module.state_dict().values() # multi-gpum_std model.state_dict().values() # single-gpufor e, m in zip(e_std, m_std):e.copy_(fn(e, m))def update(self, model):self.update_fn(model, fnlambda e, m: self.decay * e (1. - self.decay) * m)可以看出EMA的方式更新模型方式大部分是结合上一个模型的参数的即 model_update decay*model(t-1) (1-decay)*model(t) # model(t-1) 代表上一次迭代模型的参数model(t)代表当前迭代得到的模型参数虽然冻结了backbone的参数阻止了梯度在backbone中反向传播但参数由于经过如上乘法及加法运算由于精度原因还是会发生微小变化虽然训练次数增加这个变化会扩大从而达不到冻结训练的效果。而且从计算公式可以看出来采用EMA的方式更新模型参数参数会更新得很慢会造成网络难以学习的“错觉”。我在这里困住了3天有怀疑过是否是网络设计问题是否是多GPU同步的问题是否是参数设置如学习率过小权重衰减过大或者dropout设置过大等等最终一步一步排除定位到EMA的问题。 以这次的经验来看EMA只适合在上一次训练得到模型的基础上这一次加了额外的数据需要在上一次的基础上做微调的情况。
http://www.hkea.cn/news/14458543/

相关文章:

  • 南京网站制作有限公司wordpress批量拿shell
  • 学校网站建设设计方案深圳的小型网络公司
  • 徐州网站推广公司广州网站建设公司嘉御
  • 网站建设超链接制作页面模板怎么没有了
  • 单网页网站如何做朝阳网络推广
  • 外贸如何建立网站完整个人网页html
  • 企业门户网站模板html平面设计公司工作室
  • 重庆网站网络推广推广金坛网页定制
  • 网站网页设计基本理论比价网站 源码
  • 怎么编辑网站内容wordpress怎么屏蔽注册链接
  • 做网站商丘c语言软件开发和网站开发区别
  • 找网站建设公司哪家最好智慧团建网站登录电脑版
  • 宁波百度网站建设番禺网站开发哪家好
  • 家纺公司网站模版云建站源码
  • 汕头企业网站推广技巧中国企业信息公示网登录官网
  • 网站开发用框架开发的优缺点教育网站制作开发
  • 无锡市做网站深圳建设银行宝安支行网站
  • 最大的免费网站建设深圳招标信息网
  • 北京市建设工程第四检测所网站网站备案 异地
  • 微网站手机制作做it行业招标网站
  • 电子商务网站建设题温州网站建设seo
  • 湖南网站建设欧黎明成都旅游景点排名前十
  • 什么是网站开发设计与实现综合网站建设课程设计
  • .net网站内容管理系统中小学网站建设论文
  • 网站做图片的大小网站怎样获得利润
  • 代做广联达 的网站海口专注海南网站建设
  • 南京网站制作公司报价佛山企业建网站
  • 亿源科技网站建设网站建设哪里便宜
  • 网站建设哪种好公众号交易平台
  • 网站备案号注销查询沈阳网站定制