type
status
date
slug
summary
tags
category
icon
password
很简短的总结一下3种loss
1. LIPIS(Learned Perceptual Image Patch Similarity) Loss
基本上就是有很多层feature map 提取 然后每层都算loss
这3种其中 Squeeze-Net 模型最小
这里实现时候只get 两个模型['alex', 'vgg']
记得用torch.compile(model(这里model为任何nn.module子类))加速
最后forward时做了一个判断
training时用vgg inference时用’alex’?
2. Pixelwise
从’MSE’ 和’L1’选
这里澄清一下之前说的
@staticmethod并不是和 @abstractmethod 对立才出现的
而是什么情况都可以用
代表该function不用接受self 和class 内部数据
因此不用create instance可以从class.func() 直接调用
注意这里和之前都用了 loss_fn().mean(dim=[1, 2, 3])
input, output dim为(N*M, C, H, W)
N * M = Batch * views
average across 3 dims
这里注意剩下两个dim时 需要拆开来分别mean 最后求整个bath mean
3. TVLoss
encourage相邻pix的值相近 生成更加natural的图像
先分别看 difference in nearby x, y value
分别对diff_i, j Count number of elements(除了 N*M)
之后就是将sum squared diff/number of ele
最后将tv_i, j 相加 然后和之前一样算总mean
- Author:ran2323
- URL:https://www.blueif.me//article/13f71a79-6e22-801f-9940-e13c478fc641
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!