(self, use_dropout=True)
| 62 | """Learned perceptual metric.""" |
| 63 | |
| 64 | def __init__(self, use_dropout=True): |
| 65 | super().__init__() |
| 66 | self.scaling_layer = ScalingLayer() |
| 67 | self.chns = [64, 128, 256, 512, 512] # vgg16 features |
| 68 | self.net = vgg16(pretrained=True, requires_grad=False) |
| 69 | self.lin0 = NetLinLayer(self.chns[0], use_dropout=use_dropout) |
| 70 | self.lin1 = NetLinLayer(self.chns[1], use_dropout=use_dropout) |
| 71 | self.lin2 = NetLinLayer(self.chns[2], use_dropout=use_dropout) |
| 72 | self.lin3 = NetLinLayer(self.chns[3], use_dropout=use_dropout) |
| 73 | self.lin4 = NetLinLayer(self.chns[4], use_dropout=use_dropout) |
| 74 | self.load_from_pretrained() |
| 75 | for param in self.parameters(): |
| 76 | param.requires_grad = False |
| 77 | |
| 78 | def load_from_pretrained(self, name="vgg_lpips"): |
| 79 | ckpt = get_ckpt_path(name) |
no test coverage detected