代码引自: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实现相关推荐

  1. Focal Loss 的Pytorch 实现以及实验

    Focal Loss 的Pytorch 实现以及实验 Focal loss 是 文章 Focal Loss for Dense Object Detection 中提出对简单样本的进行decay的一种 ...

  2. Center Loss的Pytorch实现

    Center Loss的Pytorch实现 开始 结果 在自己的项目中使用中心损失函数 Center Loss的Pytorch实现: Wen et al. A Discriminative Featu ...

  3. Focal Loss 的Pytorch

    原文:https://zhuanlan.zhihu.com/p/28527749 参考:https://github.com/dinrker/Pytorch-TGS-Salt-Identificati ...

  4. 【CV】10分钟理解Focal loss数学原理与Pytorch代码

    原文链接:https://amaarora.github.io/2020/06/29/FocalLoss.html 原文作者:Aman Arora Focal loss 是一个在目标检测领域常用的损失 ...

  5. pytorch gather_【CV】10分钟理解Focal loss数学原理与Pytorch代码

    原文链接:https://amaarora.github.io/2020/06/29/FocalLoss.html 原文作者:Aman Arora Focal loss 是一个在目标检测领域常用的损失 ...

  6. model.train()、model.eval()、optimizer.zero_grad()、loss.backward()、optimizer.step作用及原理详解【Pytorch入门手册】

    1. model.train() model.train()的作用是启用 Batch Normalization 和 Dropout. 如果模型中有BN层(Batch Normalization)和D ...

  7. PyTorch入门与代码模板

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 导读 PyTorch1.0之后,越来越多的人选择使用PyTorch ...

  8. 独家 | 手把手教你用PyTorch快速准确地建立神经网络(附4个学习用例)

    作者:Shivam Bansal,2019年1月14日 翻译:陈之炎 校对:丁楠雅 本文约5600字,建议阅读30+分钟. 本文中,我们将探讨PyTorch的全部内容.我们将不止学习理论,还包括编写4 ...

  9. 实例 :手把手教你用PyTorch快速准确地建立神经网络(附4个学习用例)

    作者:Shivam Bansal:翻译:陈之炎:校对:丁楠雅: 本文约5600字,建议阅读30+分钟. 本文中,我们将探讨PyTorch的全部内容.我们将不止学习理论,还包括编写4个不同的用例,看看P ...

最新文章

  1. Delphi中的容器类(二)
  2. linux主题文件,美化你的Linux!23个精美Ubuntu主题下载
  3. python的优缺点有哪些-python的优缺点有哪些
  4. 深度学习核心技术精讲100篇(五十四)-阿里文娱多模态视频分类算法中的特征改进
  5. winPcap_2_编译环境*注意*
  6. java人脸识别_自从加了PC人脸识别登录功能,网站立马显得高大上
  7. 数据结构基础(2) --顺序查找 二分查找
  8. java time 赋予时间_java.time.OffsetTime
  9. 线搜索中有最速下降法、牛顿法、拟牛顿法、共轭梯度法汇总
  10. 一次cpu占用100%的故障解决
  11. 关于vs08生成解决方案慢的解决方法
  12. 计算机组成原理CPUCLK什么,计算机组成原理之CPU原理.pdf
  13. 变送器故障码与解决办法剖析汇总
  14. Wangle源码分析:EventBaseHandler、AsyncSocketHandler
  15. Cobaltstrike系列教程(十一)提权与横向移动
  16. 标准化(standardization,z-score)与归一化(Normalizer)分别是什么?有什么区别?
  17. win8下命令行解决Socket Error10048:Adress already in use问题
  18. 【无线通信协议笔记】蓝牙篇:BLE HID协议
  19. npm internal/modules/cjs/loader.js:883 throw err; ^ Error: Cannot find module ‘code-point-at‘ Requir
  20. IS-IS LSP泛洪同步过程

热门文章

  1. air中wav转mp3
  2. 嵌入式系统是云服务器,一步步教你使用云端服务器yeelink远程监控
  3. ajax中json响应
  4. Anaconda创建虚拟环境报错—UnavailableInvalidChannel: The channel is not accessible or is invalid
  5. AcWing 898. 数字三角形
  6. KaimingInit论文的译读笔记
  7. hihocoder第212周-动态规划
  8. js中的forEach
  9. 【Qt串口调试助手】1.4 - 16进制接收/发送
  10. Tina-TI 电路仿真 多参数交流传输特性分析 频率与相位增益的关系 选择控制对象