如何从pytorch中的预训练模型创建子模型而不必重写整个架构?

问题描述

所以,我一直在研究 Pytorch 中的神经风格迁移,但我被困在我们必须通过有限数量的层运行输入图像并最小化风格损失的点上。长话短说,我想在 Pytorch 中找到一种方法来评估架构不同层的输入(我使用的是 vgg16)。我已经看到这个问题在 keras 中很简单地解决了,但我想看看在 pytorch 中是否也有类似的方法

search_path

解决方法

当然可以这样做:

import torch
import torchvision

pretrained = torchvision.models.vgg16(pretrained=True)
features = pretrained.features

# First 4 layers
model = torch.nn.Sequential(*[features[i] for i in range(4)])

您可以随时print您的模型并查看它的结构。如果它是 torch.nn.Sequential(或者它的一部分,如上所述),你总是可以使用这种方法。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...