Beispiel #1
0
def load_face_parser(cpu=False):
    from face_parsing.model import BiSeNet

    face_parser = BiSeNet(n_classes=19)
    if not cpu:
        face_parser.cuda()
        face_parser.load_state_dict(
            torch.load('motion-co-seg/face_parsing/cp/79999_iter.pth'))
    else:
        face_parser.load_state_dict(
            torch.load('motion-co-seg/face_parsing/cp/79999_iter.pth',
                       map_location=torch.device('cpu')))

    face_parser.eval()

    mean = torch.Tensor(np.array([0.485, 0.456, 0.406],
                                 dtype=np.float32)).view(1, 3, 1, 1)
    std = torch.Tensor(np.array([0.229, 0.224, 0.225],
                                dtype=np.float32)).view(1, 3, 1, 1)

    if not cpu:
        face_parser.mean = mean.cuda()
        face_parser.std = std.cuda()
    else:
        face_parser.mean = mean
        face_parser.std = std

    return face_parser
def load_face_parser(cpu=False):
    from face_parsing.model import BiSeNet

    face_parser = BiSeNet(n_classes=19)
#     print(os.path.dirname(os.path.realpath(__file__)))
#     print(os.listdir())
#     print(os.getcwd())
    if not cpu:
       face_parser.cuda()
       face_parser.load_state_dict(torch.load(f'{os.path.dirname(os.path.realpath(__file__))}/face_parsing/cp/79999_iter.pth'))
    else:
       face_parser.load_state_dict(torch.load(f'{os.path.dirname(os.path.realpath(__file__))}/face_parsing/cp/79999_iter.pth', map_location=torch.device('cpu')))
 
    face_parser.eval()

    mean = torch.Tensor(np.array([0.485, 0.456, 0.406], dtype=np.float32)).view(1, 3, 1, 1)
    std = torch.Tensor(np.array([0.229, 0.224, 0.225], dtype=np.float32)).view(1, 3, 1, 1)

    if not cpu:
        face_parser.mean = mean.cuda()
        face_parser.std = std.cuda()
    else:
        face_parser.mean = mean
        face_parser.std = std
 
    return face_parser