Update src/pipeline.py
Browse files- src/pipeline.py +5 -4
src/pipeline.py
CHANGED
|
@@ -12,7 +12,7 @@ from pipelines.models import TextToImageRequest
|
|
| 12 |
from torch import Generator
|
| 13 |
import time
|
| 14 |
from diffusers import FluxTransformer2DModel, DiffusionPipeline
|
| 15 |
-
|
| 16 |
import torch.nn.utils.prune as prune
|
| 17 |
Pipeline = None
|
| 18 |
|
|
@@ -31,15 +31,16 @@ def load_pipeline() -> Pipeline:
|
|
| 31 |
ckpt_id, subfolder="vae", torch_dtype=torch.bfloat16
|
| 32 |
)#.to("cpu")
|
| 33 |
quantize_(vae, int8_weight_only())
|
|
|
|
|
|
|
|
|
|
| 34 |
pipeline = DiffusionPipeline.from_pretrained(
|
| 35 |
ckpt_id,
|
| 36 |
vae=vae,
|
| 37 |
torch_dtype=dtype,
|
| 38 |
)#.to("cpu")
|
| 39 |
|
| 40 |
-
|
| 41 |
-
# if isinstance(module, torch.nn.Linear):
|
| 42 |
-
# prune.l1_unstructured(module, 'weight', amount=0.05)
|
| 43 |
|
| 44 |
# pipeline.to(device)
|
| 45 |
pipeline.enable_sequential_cpu_offload()
|
|
|
|
| 12 |
from torch import Generator
|
| 13 |
import time
|
| 14 |
from diffusers import FluxTransformer2DModel, DiffusionPipeline
|
| 15 |
+
from torchao.quantization import quantize_, int8_weight_only
|
| 16 |
import torch.nn.utils.prune as prune
|
| 17 |
Pipeline = None
|
| 18 |
|
|
|
|
| 31 |
ckpt_id, subfolder="vae", torch_dtype=torch.bfloat16
|
| 32 |
)#.to("cpu")
|
| 33 |
quantize_(vae, int8_weight_only())
|
| 34 |
+
for name, module in pipeline.vae.named_modules():
|
| 35 |
+
if isinstance(module, torch.nn.Linear):
|
| 36 |
+
prune.l1_unstructured(module, 'weight', amount=0.1)
|
| 37 |
pipeline = DiffusionPipeline.from_pretrained(
|
| 38 |
ckpt_id,
|
| 39 |
vae=vae,
|
| 40 |
torch_dtype=dtype,
|
| 41 |
)#.to("cpu")
|
| 42 |
|
| 43 |
+
|
|
|
|
|
|
|
| 44 |
|
| 45 |
# pipeline.to(device)
|
| 46 |
pipeline.enable_sequential_cpu_offload()
|