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