c++ libtorch
vision::models::ResNet101 model101 = vision::models::ResNet101();
how to get each layer in model101 as children and features
/////////////////////////////////////////////////////////////////////////////////////////////////
python
resnet101 = torchvision.models.resnet101(pretrained=self._pretrained)
# list(resnet101.children()) consists of following modules
# [0] = Conv2d, [1] = BatchNorm2d, [2] = ReLU,
# [3] = MaxPool2d, [4] = Sequential(Bottleneck...),
# [5] = Sequential(Bottleneck...),
# [6] = Sequential(Bottleneck...),
# [7] = Sequential(Bottleneck...),
# [8] = AvgPool2d, [9] = Linear
children = list(resnet101.children())
features = children[:-3]
num_features_out = 1024
hidden = children[-3]
num_hidden_out = 2048
for parameters in [feature.parameters() for i, feature in enumerate(features) if i <= 4]:
for parameter in parameters:
parameter.requires_grad = False
features = nn.Sequential(*features)