Spaces:
Running
on
Zero
Running
on
Zero
tight-inversion
commited on
Commit
·
96fea2f
1
Parent(s):
41d4fc8
Ensure AE on GPU
Browse files
app.py
CHANGED
@@ -23,20 +23,17 @@ from pulid.utils import resize_numpy_image_long, seed_everything
|
|
23 |
def get_models(name: str, device: torch.device, offload: bool, fp8: bool):
|
24 |
t5 = load_t5(device, max_length=128)
|
25 |
clip = load_clip(device)
|
26 |
-
if
|
27 |
-
model = load_flow_model_quintized(name, device="cpu" if offload else device)
|
28 |
-
else:
|
29 |
-
model = load_flow_model(name, device="cpu" if offload else device)
|
30 |
model.eval()
|
31 |
-
ae = load_ae(name, device=
|
32 |
-
ae.to(dtype=torch.bfloat16)
|
33 |
return model, ae, t5, clip
|
34 |
|
35 |
|
36 |
class FluxGenerator:
|
37 |
def __init__(self, model_name: str, device: str, offload: bool, aggressive_offload: bool, args):
|
38 |
self.device = torch.device(device)
|
39 |
-
self.offload =
|
40 |
self.aggressive_offload = aggressive_offload
|
41 |
self.model_name = model_name
|
42 |
self.model, self.ae, self.t5, self.clip_model = get_models(
|
@@ -45,13 +42,7 @@ class FluxGenerator:
|
|
45 |
offload=self.offload,
|
46 |
fp8=args.fp8,
|
47 |
)
|
48 |
-
self.pulid_model = PuLIDPipeline(self.model, device=
|
49 |
-
onnx_provider=args.onnx_provider)
|
50 |
-
if offload:
|
51 |
-
self.pulid_model.face_helper.face_det.mean_tensor = self.pulid_model.face_helper.face_det.mean_tensor.to(torch.device("cuda"))
|
52 |
-
self.pulid_model.face_helper.face_det.device = torch.device("cuda")
|
53 |
-
self.pulid_model.face_helper.device = torch.device("cuda")
|
54 |
-
self.pulid_model.device = torch.device("cuda")
|
55 |
self.pulid_model.load_pretrain(args.pretrained_model)
|
56 |
|
57 |
# function to encode an image into latents
|
@@ -458,5 +449,8 @@ if __name__ == "__main__":
|
|
458 |
if args.aggressive_offload:
|
459 |
args.offload = True
|
460 |
|
|
|
|
|
|
|
461 |
demo = create_demo(args, args.name, args.device, args.offload, args.aggressive_offload)
|
462 |
demo.launch(ssr_mode=False)
|
|
|
23 |
def get_models(name: str, device: torch.device, offload: bool, fp8: bool):
|
24 |
t5 = load_t5(device, max_length=128)
|
25 |
clip = load_clip(device)
|
26 |
+
model = load_flow_model(name, device="cpu" if offload else device)
|
|
|
|
|
|
|
27 |
model.eval()
|
28 |
+
ae = load_ae(name, device=device)
|
29 |
+
ae.to(device=device, dtype=torch.bfloat16)
|
30 |
return model, ae, t5, clip
|
31 |
|
32 |
|
33 |
class FluxGenerator:
|
34 |
def __init__(self, model_name: str, device: str, offload: bool, aggressive_offload: bool, args):
|
35 |
self.device = torch.device(device)
|
36 |
+
self.offload = False
|
37 |
self.aggressive_offload = aggressive_offload
|
38 |
self.model_name = model_name
|
39 |
self.model, self.ae, self.t5, self.clip_model = get_models(
|
|
|
42 |
offload=self.offload,
|
43 |
fp8=args.fp8,
|
44 |
)
|
45 |
+
self.pulid_model = PuLIDPipeline(self.model, device='cuda', weight_dtype=torch.bfloat16)
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
self.pulid_model.load_pretrain(args.pretrained_model)
|
47 |
|
48 |
# function to encode an image into latents
|
|
|
449 |
if args.aggressive_offload:
|
450 |
args.offload = True
|
451 |
|
452 |
+
print(f"Using device: {args.device}")
|
453 |
+
print(f"Offload: {args.offload}")
|
454 |
+
|
455 |
demo = create_demo(args, args.name, args.device, args.offload, args.aggressive_offload)
|
456 |
demo.launch(ssr_mode=False)
|