Create VGG19_bn architecture class with Forward function

Hi Experts,
I need help in creating a custom model architecture just like VGG19_bn. Instead of using VGG19(pretrained=True) I want to create Identical VGG architecture with Class and Forward functions etc so that I can get 4096 dimensional feature vector so that these can output_feature=20 based on my custom data for Image classification.
I am trying to do image classification based on custom dataset from Scratch without using transfer learning(pretrained networks). I just want to use the architecture of VGG19_bn that’s it.
Thank you

class VGG19(nn.Module):

def __init__(self,num_classes=20):

    # All layers of VGG19_bn along with its Relu Max Pooling bias weights etc everything.
self.fc = nn.Linear(in_features=512*7*7,out_features=num_classes)

def forward(self, input):
output =
output = output.view(-1,12877)
output = self.fc(output)
return output

You could copy the VGG implementation from torchvision.models.vgg and change the layers as you want, which would be the simplest approach for your custom architecture.