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

网站建设合同需要交印花税广州全面优化各项防控措施

网站建设合同需要交印花税,广州全面优化各项防控措施,wordpress分类自定义字段调用,游网站建设方案内容去雨去雾去雪算法分为两个阶段#xff0c;分别是知识收集阶段与知识测试阶段#xff0c;前面我们已经学习了知识收集阶段#xff0c;了解到知识阶段的特征迁移模块#xff08;CKT)与软损失#xff08;SCRLoss#xff09;,那么在知识收集阶段的主要重点便是HCRLoss(硬损失…去雨去雾去雪算法分为两个阶段分别是知识收集阶段与知识测试阶段前面我们已经学习了知识收集阶段了解到知识阶段的特征迁移模块CKT)与软损失SCRLoss,那么在知识收集阶段的主要重点便是HCRLoss(硬损失,事实上知识测试阶段要比知识收集阶段简单因为这个模块只需要训练学生网络即可。 模型创新点 在进行知识测试阶段的代码学习之前我们来回顾一下去雨去雪去雾网络的创新点 首先是提出两阶段的知识蒸馏网络即构建三个教师网络与一个学生网络设置总训练次数为250其中前125个epoch教师网络与学生网络一同训练这里的训练是指将图像输入教师网络随后将教师网络的输出结果与中间特征图保留将其作为真值指导学生网络进行训练。 其次便是提出知识迁移模块CKT该模块的作用是将教师网络的特征迁移到学生网络。 随后便是软损失与硬损失计算了这个其实是知识蒸馏中的概念。 总体来看去雨去雾去雪网络的设计虽然较为新颖但事实上就是知识蒸馏网络的架构本着这一点程序理解起来也就容易多了。 接下来开始代码的学习 小插曲算力不足 首先需要指出前面将batch-size设置为4但却会报错 RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED开始时博主以为是cuDNN与CUDA版本不匹配导致的但后来一想不对呀先前已经运行过呀那么问题很可能便是batch出问题了果然将batch改为3后就正常了这是由于算力不足导致的注意算力不足和显存不足还是有区别的。 将batch-size改为3后重新运行开始知识测试阶段的探索。 知识测试阶段 事实上知识测试阶段的实现与知识收集阶段几乎相同并且要比知识收集阶段简单其只是训练学生网络并计算一个硬损失而已。 由于知识测试阶段与知识收集阶段几乎相同因此有许多地方是重复的这里博主便会简要介绍。 首先相同的是使用train_loader进行训练集的加载并使用tqdm进行封装。 随后便是遍历过程这个过程就要简单很多了没有使用到教师网络直接将图像输入学生网络进行预测即可这里的学生网络与教师网络的构造是完全相同的将结果分别计算L1损失与HCR_loss即可。不过需要注意的是由于该阶段不需要与教师网络进行特征迁移因此就不需要返回中间特征图了即设置return_featFalse for target_images, input_images in pBar:if target_images is None: continuetarget_images target_images.cuda()input_images torch.cat(input_images).cuda()preds model(input_images, return_featFalse)G_loss criterion_l1(preds, target_images)HCR_loss 0.2 * criterion_hcr(preds, target_images, input_images)total_loss G_loss HCR_loss至于其他的基本就相同了需要注意的是这里的batch设置为3。接下来记录一下数据的变化情况 input_images输入图像torch.Size([3, 3, 224, 224])第一个3是指图像数量第二个3是指通道维度 target_images目标图像真值torch.Size([3, 3, 224, 224])第一个3是指图像数量第二个3是指通道维度 preds预测图像去噪后的图像torch.Size([3, 3, 224, 224])第一个3是指图像数量第二个3是指通道维度 随后计算L1损失与HCRLoss由于在学生网络中使用的事实上是混合数据集即不区分去噪类型因此输入图像等都是直接使用tesnor格式而非list格式。 G_losstensor(0.5621, devicecuda:0, grad_fnL1LossBackward)HCRLoss 与SCRLoss相同HCRLoss也是先将图像进行特征转换后再计算损失的 HCRLoss((vgg): Vgg19((slice1): Sequential((0): Conv2d(3, 64, kernel_size(3, 3), stride(1, 1), padding(1, 1))(1): ReLU(inplaceTrue))(slice2): Sequential((2): Conv2d(64, 64, kernel_size(3, 3), stride(1, 1), padding(1, 1))(3): ReLU(inplaceTrue)(4): MaxPool2d(kernel_size2, stride2, padding0, dilation1, ceil_modeFalse)(5): Conv2d(64, 128, kernel_size(3, 3), stride(1, 1), padding(1, 1))(6): ReLU(inplaceTrue))(slice3): Sequential((7): Conv2d(128, 128, kernel_size(3, 3), stride(1, 1), padding(1, 1))(8): ReLU(inplaceTrue)(9): MaxPool2d(kernel_size2, stride2, padding0, dilation1, ceil_modeFalse)(10): Conv2d(128, 256, kernel_size(3, 3), stride(1, 1), padding(1, 1))(11): ReLU(inplaceTrue))(slice4): Sequential((12): Conv2d(256, 256, kernel_size(3, 3), stride(1, 1), padding(1, 1))(13): ReLU(inplaceTrue)(14): Conv2d(256, 256, kernel_size(3, 3), stride(1, 1), padding(1, 1))(15): ReLU(inplaceTrue)(16): Conv2d(256, 256, kernel_size(3, 3), stride(1, 1), padding(1, 1))(17): ReLU(inplaceTrue)(18): MaxPool2d(kernel_size2, stride2, padding0, dilation1, ceil_modeFalse)(19): Conv2d(256, 512, kernel_size(3, 3), stride(1, 1), padding(1, 1))(20): ReLU(inplaceTrue))(slice5): Sequential((21): Conv2d(512, 512, kernel_size(3, 3), stride(1, 1), padding(1, 1))(22): ReLU(inplaceTrue)(23): Conv2d(512, 512, kernel_size(3, 3), stride(1, 1), padding(1, 1))(24): ReLU(inplaceTrue)(25): Conv2d(512, 512, kernel_size(3, 3), stride(1, 1), padding(1, 1))(26): ReLU(inplaceTrue)(27): MaxPool2d(kernel_size2, stride2, padding0, dilation1, ceil_modeFalse)(28): Conv2d(512, 512, kernel_size(3, 3), stride(1, 1), padding(1, 1))(29): ReLU(inplaceTrue)))(l1): L1Loss() )HCRLosstensor(0.3274, devicecuda:0, grad_fnMulBackward0)评估模块 至此知识测试阶段便完成了随后便是模型评估了。这里默认设置评估时的batch-size为1即每次输入一张图像。 所谓的评估指的是对学生网络的评估该模块其实与知识测试阶段类似不同之处在于这里是需要计算SSIM与PSNR的。至于其他则是完全相同核心代码如下 for target, image in pBar:if torch.cuda.is_available():image image.cuda()target target.cuda()pred model(image) psnr_list.append(torchPSNR(pred, target).item())ssim_list.append(pytorch_ssim.ssim(pred, target).item())由于batch-size设置为1因此target为torch.Size([1, 3, 480, 640])image也为torch.Size([1, 3, 480, 640])这里需要注意的是在训练阶段包含知识收集与知识测试阶段数据集中的图像都要转换为224x224的大小而在评估阶段则不需要进行转换了即使用的是原图像的大小。 直接将输入图输入模型获的去噪后的图像pred大小为torch.Size([1, 3, 480, 640]) pred model(image)随后将预测图像与真值图像进行计算PSNR与SSIM psnr_list.append(torchPSNR(pred, target).item()) ssim_list.append(pytorch_ssim.ssim(pred, target).item())PSNR计算 torch.no_grad() def torchPSNR(prd_img, tar_img):if not isinstance(prd_img, torch.Tensor):prd_img torch.from_numpy(prd_img)tar_img torch.from_numpy(tar_img)imdff torch.clamp(prd_img, 0, 1) - torch.clamp(tar_img, 0, 1)rmse (imdff**2).mean().sqrt()ps 20 * torch.log10(1/rmse)return psSSIM计算 class SSIM(torch.nn.Module):def __init__(self, window_size 11, size_average True):super(SSIM, self).__init__()self.window_size window_sizeself.size_average size_averageself.channel 1self.window create_window(window_size, self.channel)def forward(self, img1, img2):(_, channel, _, _) img1.size()if channel self.channel and self.window.data.type() img1.data.type():window self.windowelse:window create_window(self.window_size, channel) if img1.is_cuda:window window.cuda(img1.get_device())window window.type_as(img1) self.window windowself.channel channelreturn _ssim(img1, img2, window, self.window_size, channel, self.size_average) def ssim(img1, img2, window_size 11, size_average True):(_, channel, _, _) img1.size()window create_window(window_size, channel) if img1.is_cuda:window window.cuda(img1.get_device())window window.type_as(img1)return _ssim(img1, img2, window, window_size, channel, size_average)将每个循环得到的psnr与ssim加入列表 最后的PSNR与SSIM是对list中的所有值求平均: print(PSNR: {:.3f}.format(np.mean(psnr_list))) print(SSIM: {:.3f}.format(np.mean(ssim_list)))至此知识测试阶段与评估模块就讲解完成了接下来博主将对该模型进行改进。
http://www.hkea.cn/news/14430291/

相关文章:

  • phpcms 网站路径新公司怎么做网络推广
  • 如何做一个门户网站百度地图添加到网站
  • 做旅游网站的目的是什么南昌网站建设方案维护
  • 网站宽度 1000px公众号里的电影网站怎么做的
  • 搜什么关键词能找到网站深圳互联网网页设计招聘
  • 网站做飘浮怎么做有无广告销售版本"有广告免费无广告收费"网站
  • 自己有服务器怎么做网站黄骅市海边沙滩在哪里
  • 重庆市建设网站首页wordpress文章怎么生成云标签
  • 2024免费网站推广电脑版微信
  • 国内自助建站平台有哪些网站建设国内外研究现况
  • 龙川网站建设二维码生成器在线
  • 如何做招聘网站的数据分析大淘客网站免费空间
  • 红酒企业网站模板广宁住房和城乡建设局网站
  • wordpress不适合大型网站自己做的网站字体变成方框
  • js素材网站自己做网站切入地图
  • 网站开发的编程软件湘潭网站建设 r磐石网络
  • 做电商引流软文网站百度引流平台
  • 芜湖网站网站建设天津seo选天津旗舰科技a
  • 珠宝出售网站模板厦门网站建设哪家比较好
  • 山东住房建设厅官网站房产公司网站模板
  • 网站关键字排名减压轻松网站开发
  • 网站开发z亿玛酷1流量订制表白网页在线生成制作免费
  • 网站开发 0755html做调查问卷网站
  • 竞品网站分析如何做网站管理
  • 国内无代码和低代码平台.net 网站优化
  • 17zwd一起做网站教学视频个人网站有备案吗
  • 金融公司网站建设模板虚拟机做的网站怎么让外网访问不了
  • p2p网站建设源码毕业设计网站设计说明书
  • 怎么看别人网站怎么做的个人网站主页模板
  • 做网站卖赚钱吗腾讯企业邮箱登录入口下载