Spaces:
Runtime error
Runtime error
fix issues for pytorch<1.9.0.
Browse files
.gitignore
CHANGED
@@ -123,4 +123,6 @@ venv.bak/
|
|
123 |
|
124 |
# project
|
125 |
results/
|
|
|
126 |
*_old*
|
|
|
|
123 |
|
124 |
# project
|
125 |
results/
|
126 |
+
dlib/
|
127 |
*_old*
|
128 |
+
|
facelib/detection/yolov5face/face_detector.py
CHANGED
@@ -17,6 +17,9 @@ from facelib.detection.yolov5face.utils.general import (
|
|
17 |
scale_coords_landmarks,
|
18 |
)
|
19 |
|
|
|
|
|
|
|
20 |
def isListempty(inList):
|
21 |
if isinstance(inList, list): # Is a list
|
22 |
return all(map(isListempty, inList))
|
@@ -116,8 +119,14 @@ class YoloDetector:
|
|
116 |
origimgs = copy.deepcopy(images)
|
117 |
|
118 |
images = self._preprocess(images)
|
119 |
-
|
120 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
bboxes, points = self._postprocess(images, origimgs, pred, conf_thres, iou_thres)
|
122 |
|
123 |
# return bboxes, points
|
|
|
17 |
scale_coords_landmarks,
|
18 |
)
|
19 |
|
20 |
+
IS_HIGH_VERSION = tuple(map(int, torch.__version__.split('+')[0].split('.'))) >= (1, 9, 0)
|
21 |
+
|
22 |
+
|
23 |
def isListempty(inList):
|
24 |
if isinstance(inList, list): # Is a list
|
25 |
return all(map(isListempty, inList))
|
|
|
119 |
origimgs = copy.deepcopy(images)
|
120 |
|
121 |
images = self._preprocess(images)
|
122 |
+
|
123 |
+
if IS_HIGH_VERSION:
|
124 |
+
with torch.inference_mode(): # for pytorch>=1.9
|
125 |
+
pred = self.detector(images)[0]
|
126 |
+
else:
|
127 |
+
with torch.no_grad(): # for pytorch<1.9
|
128 |
+
pred = self.detector(images)[0]
|
129 |
+
|
130 |
bboxes, points = self._postprocess(images, origimgs, pred, conf_thres, iou_thres)
|
131 |
|
132 |
# return bboxes, points
|
facelib/detection/yolov5face/models/yolo.py
CHANGED
@@ -87,7 +87,8 @@ class Detect(nn.Module):
|
|
87 |
|
88 |
@staticmethod
|
89 |
def _make_grid(nx=20, ny=20):
|
90 |
-
yv, xv = torch.meshgrid([torch.arange(ny), torch.arange(nx)], indexing="ij")
|
|
|
91 |
return torch.stack((xv, yv), 2).view((1, 1, ny, nx, 2)).float()
|
92 |
|
93 |
|
|
|
87 |
|
88 |
@staticmethod
|
89 |
def _make_grid(nx=20, ny=20):
|
90 |
+
# yv, xv = torch.meshgrid([torch.arange(ny), torch.arange(nx)], indexing="ij") # for pytorch>=1.10
|
91 |
+
yv, xv = torch.meshgrid([torch.arange(ny), torch.arange(nx)])
|
92 |
return torch.stack((xv, yv), 2).view((1, 1, ny, nx, 2)).float()
|
93 |
|
94 |
|
facelib/utils/face_restoration_helper.py
CHANGED
@@ -69,7 +69,7 @@ class FaceRestoreHelper(object):
|
|
69 |
self.face_template = np.array([[192, 240], [319, 240], [257, 371]])
|
70 |
else:
|
71 |
# standard 5 landmarks for FFHQ faces with 512 x 512
|
72 |
-
#
|
73 |
self.face_template = np.array([[192.98138, 239.94708], [318.90277, 240.1936], [256.63416, 314.01935],
|
74 |
[201.26117, 371.41043], [313.08905, 371.15118]])
|
75 |
|
|
|
69 |
self.face_template = np.array([[192, 240], [319, 240], [257, 371]])
|
70 |
else:
|
71 |
# standard 5 landmarks for FFHQ faces with 512 x 512
|
72 |
+
# facexlib
|
73 |
self.face_template = np.array([[192.98138, 239.94708], [318.90277, 240.1936], [256.63416, 314.01935],
|
74 |
[201.26117, 371.41043], [313.08905, 371.15118]])
|
75 |
|
inference_codeformer.py
CHANGED
@@ -91,8 +91,6 @@ if __name__ == '__main__':
|
|
91 |
face_helper.clean_all()
|
92 |
|
93 |
img_name = os.path.basename(img_path)
|
94 |
-
# if not '04' in img_name:
|
95 |
-
# continue
|
96 |
print(f'Processing: {img_name}')
|
97 |
basename, ext = os.path.splitext(img_name)
|
98 |
img = cv2.imread(img_path, cv2.IMREAD_COLOR)
|
|
|
91 |
face_helper.clean_all()
|
92 |
|
93 |
img_name = os.path.basename(img_path)
|
|
|
|
|
94 |
print(f'Processing: {img_name}')
|
95 |
basename, ext = os.path.splitext(img_name)
|
96 |
img = cv2.imread(img_path, cv2.IMREAD_COLOR)
|