Hi @ptrblck thanks for the quick response, appreciate it!
I had to modify the code as shown below.
I know that the classifier of vgg19 needs to be modified to fit this particular case.
My follow up question is does setting Strict=False for load_state_dict distort the results?
def load_model(checkpoint_path):
    chpt = torch.load(checkpoint_path)
    
    
    #Load the model
    if chpt['arch'] == 'vgg19':
        model = models.vgg19(pretrained=True)
        
        for param in model.parameters():
            param.requires_grad = False
            
    #Load the state dict
    state_dict=chpt['state_dict']
    new_state_dict= OrderedDict()
    for k, v in state_dict.items():
        name=k[7:] #remove 'module.' of DataParallel
        new_state_dict[name]=v

    model.load_state_dict(new_state_dict, strict=False)
    
    #load the classes
    model.class_to_idx = chpt['class_to_idx']
            
    # Create the classifier
    classifier = nn.Sequential(OrderedDict([
                          ('fc1', nn.Linear(25088, 4096)),
                          ('relu', nn.ReLU()),
                          ('fc2', nn.Linear(4096, 102)),
                          ('output', nn.LogSoftmax(dim=1))
                          ]))
    
    model.classifier = classifier
        
        
    return model