I think the easiest way would be to derive your custom model from torchvision.models.resnet and manipulate the forward method:
from torchvision.models import resnet

class MyResNet50(resnet.ResNet):
    def __init__(self, pretrained=False, **kwargs):
        super(MyResNet50, self).__init__(resnet.Bottleneck, [3, 4, 6, 3], **kwargs)
        if pretrained:
            self.load_state_dict(resnet.model_zoo.load_url(resnet.model_urls['resnet50']))

        self.fc = nn.Linear(2064, 2)

    def forward(self, x, y):
        x = self.conv1(x)
        x = self.bn1(x)
        x = self.relu(x)
        x = self.maxpool(x)

        x = self.layer1(x)
        x = self.layer2(x)
        x = self.layer3(x)
        x = self.layer4(x)

        x = self.avgpool(x)
        x = x.view(x.size(0), -1)
        x = torch.cat((x, y), 1)
        x = self.fc(x)
        return x
    
x = torch.randn(1, 3, 224, 224)
y = torch.randn(1, 16)
model = MyResNet50(pretrained=True)
output = model(x, y)
output.shape