VGG Loss的Pytorch实现
代码引自:https://github.com/bryandlee/stylegan2-encoder-pytorch/blob/master/train_encoder.py
class VGGLoss(nn.Module):def __init__(self, device, n_layers=5):super().__init__()feature_layers = (2, 7, 12, 21, 30)self.weights = (1.0, 1.0, 1.0, 1.0, 1.0) vgg = torchvision.models.vgg19(pretrained=True).featuresself.layers = nn.ModuleList()prev_layer = 0for next_layer in feature_layers[:n_layers]:layers = nn.Sequential()for layer in range(prev_layer, next_layer):layers.add_module(str(layer), vgg[layer])self.layers.append(layers.to(device))prev_layer = next_layerfor param in self.parameters():param.requires_grad = Falseself.criterion = nn.L1Loss().to(device)def forward(self, source, target):loss = 0 for layer, weight in zip(self.layers, self.weights):source = layer(source)with torch.no_grad():target = layer(target)loss += weight*self.criterion(source, target)return loss
VGG Loss在GAN里面用的比较多,做风格迁移之类的,可以用来比较两张图像感官上的差距。具体来说的话其实就是将两张图像送入预训练的VGG19网络中提取各层特征,然后对比各层特征之间的差异(使用L1Loss)。所涉及到的一个关键参数为各层特征的权重,这个会对训练效果会有比较大的影响。
VGG Loss的Pytorch实现相关推荐
- Focal Loss 的Pytorch 实现以及实验
Focal Loss 的Pytorch 实现以及实验 Focal loss 是 文章 Focal Loss for Dense Object Detection 中提出对简单样本的进行decay的一种 ...
- Center Loss的Pytorch实现
Center Loss的Pytorch实现 开始 结果 在自己的项目中使用中心损失函数 Center Loss的Pytorch实现: Wen et al. A Discriminative Featu ...
- Focal Loss 的Pytorch
原文:https://zhuanlan.zhihu.com/p/28527749 参考:https://github.com/dinrker/Pytorch-TGS-Salt-Identificati ...
- 【CV】10分钟理解Focal loss数学原理与Pytorch代码
原文链接:https://amaarora.github.io/2020/06/29/FocalLoss.html 原文作者:Aman Arora Focal loss 是一个在目标检测领域常用的损失 ...
- pytorch gather_【CV】10分钟理解Focal loss数学原理与Pytorch代码
原文链接:https://amaarora.github.io/2020/06/29/FocalLoss.html 原文作者:Aman Arora Focal loss 是一个在目标检测领域常用的损失 ...
- model.train()、model.eval()、optimizer.zero_grad()、loss.backward()、optimizer.step作用及原理详解【Pytorch入门手册】
1. model.train() model.train()的作用是启用 Batch Normalization 和 Dropout. 如果模型中有BN层(Batch Normalization)和D ...
- PyTorch入门与代码模板
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 导读 PyTorch1.0之后,越来越多的人选择使用PyTorch ...
- 独家 | 手把手教你用PyTorch快速准确地建立神经网络(附4个学习用例)
作者:Shivam Bansal,2019年1月14日 翻译:陈之炎 校对:丁楠雅 本文约5600字,建议阅读30+分钟. 本文中,我们将探讨PyTorch的全部内容.我们将不止学习理论,还包括编写4 ...
- 实例 :手把手教你用PyTorch快速准确地建立神经网络(附4个学习用例)
作者:Shivam Bansal:翻译:陈之炎:校对:丁楠雅: 本文约5600字,建议阅读30+分钟. 本文中,我们将探讨PyTorch的全部内容.我们将不止学习理论,还包括编写4个不同的用例,看看P ...
最新文章
- Delphi中的容器类(二)
- linux主题文件,美化你的Linux!23个精美Ubuntu主题下载
- python的优缺点有哪些-python的优缺点有哪些
- 深度学习核心技术精讲100篇(五十四)-阿里文娱多模态视频分类算法中的特征改进
- winPcap_2_编译环境*注意*
- java人脸识别_自从加了PC人脸识别登录功能,网站立马显得高大上
- 数据结构基础(2) --顺序查找 二分查找
- java time 赋予时间_java.time.OffsetTime
- 线搜索中有最速下降法、牛顿法、拟牛顿法、共轭梯度法汇总
- 一次cpu占用100%的故障解决
- 关于vs08生成解决方案慢的解决方法
- 计算机组成原理CPUCLK什么,计算机组成原理之CPU原理.pdf
- 变送器故障码与解决办法剖析汇总
- Wangle源码分析:EventBaseHandler、AsyncSocketHandler
- Cobaltstrike系列教程(十一)提权与横向移动
- 标准化(standardization,z-score)与归一化(Normalizer)分别是什么?有什么区别?
- win8下命令行解决Socket Error10048:Adress already in use问题
- 【无线通信协议笔记】蓝牙篇:BLE HID协议
- npm internal/modules/cjs/loader.js:883 throw err; ^ Error: Cannot find module ‘code-point-at‘ Requir
- IS-IS LSP泛洪同步过程
热门文章
- air中wav转mp3
- 嵌入式系统是云服务器,一步步教你使用云端服务器yeelink远程监控
- ajax中json响应
- Anaconda创建虚拟环境报错—UnavailableInvalidChannel: The channel is not accessible or is invalid
- AcWing 898. 数字三角形
- KaimingInit论文的译读笔记
- hihocoder第212周-动态规划
- js中的forEach
- 【Qt串口调试助手】1.4 - 16进制接收/发送
- Tina-TI 电路仿真 多参数交流传输特性分析 频率与相位增益的关系 选择控制对象