local function cnn_net(perceptual_layer, VGG_path)
local VGG16 = torch.load(VGG_path)
local new_net = nn.Sequential()
for i = 1, #VGG16 do
local layer = VGG16:get(i)
local name = layer.name
new_net:add(layer)
if name == perceptual_layer then
break
end
end
return new_net
end
–load vgg conv layers before perceptual layer
local vgg = cnn_net(opt.perceptual_layer, opt.VGG_path)
local perceptual_args =
{
cnn = vgg,
}