How can I append an additional layer on top of an existing pretrained architecture ? I saw this snippet below from Using freezed pretrained resnet18 as a feature extractor for cifar10 111 but it modifies the last layer instead of appending a new one to it.
model = torchvision.models.vgg19(pretrained=True)
for param in model.parameters():
    param.requires_grad = False
    # Replace the last fully-connected layer
    # Parameters of newly constructed modules have requires_grad=True by default
model.fc = nn.Linear(512, 8) # assuming that the fc7 layer has 512 neurons, otherwise change it 
model.cuda()

In a later part of the code, the model was called as follows when processing the input data
output = model(input)