network = models.resnet18(pretrained=False)
     network.conv1 = nn.Conv2d(1, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
     network.fc = nn.Linear(512, out_features=27)
     loader = torch.utils.data.DataLoader(train_set, batch_size=run.batch_size, 
     num_workers=run.num_workers, shuffle=False, pin_memory=False)
     with torch.no_grad():
         test_loader = torch.utils.data.DataLoader(test_set, batch_size=run.batch_size, 
                               num_workers=run.num_workers, pin_memory=False)
   
    network.to(device)
    optimizer = optim.AdamW(network.parameters(), lr=run.lr, weight_decay=run.weight_decay)
   
    with open('epoch-0.pth', 'rb') as f:
        checkpoint = torch.load(f)
        network.module.load_state_dict(checkpoint['model_state_dict'])
        optimizer.load_state_dict(checkpoint['optimizer_state_dict'])    
    network = nn.DataParallel(network)
    network.fc = nn.Linear(512, out_features=3)