Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -20,7 +20,7 @@ import paramiko
|
|
20 |
import datetime
|
21 |
#from diffusers import DPMSolverSDEScheduler
|
22 |
from diffusers.models.attention_processor import AttnProcessor2_0
|
23 |
-
from transformers import CLIPTextModelWithProjection, CLIPTextModel
|
24 |
torch.backends.cuda.matmul.allow_tf32 = False
|
25 |
torch.backends.cuda.matmul.allow_bf16_reduced_precision_reduction = False
|
26 |
torch.backends.cuda.matmul.allow_fp16_reduced_precision_reduction = False
|
@@ -82,11 +82,17 @@ HF_TOKEN = os.getenv("HF_TOKEN")
|
|
82 |
os.putenv("HF_HUB_ENABLE_HF_TRANSFER","1")
|
83 |
|
84 |
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
def load_and_prepare_model():
|
87 |
#vaeRV = AutoencoderKL.from_pretrained("SG161222/RealVisXL_V5.0", subfolder='vae', safety_checker=None, use_safetensors=True, token=True)
|
88 |
#vaeXL = AutoencoderKL.from_pretrained("stabilityai/sdxl-vae", safety_checker=None, use_safetensors=False, low_cpu_mem_usage=False, torch_dtype=torch.float32, token=True) #.to(device).to(torch.bfloat16) #.to(device=device, dtype=torch.bfloat16)
|
89 |
-
vaeXL = AutoencoderKL.from_pretrained("stabilityai/sdxl-vae", low_cpu_mem_usage=False, safety_checker=None, use_safetensors=False, torch_dtype=torch.float32, token=True) #.to(device).to(torch.bfloat16) #.to(device=device, dtype=torch.bfloat16)
|
90 |
#sched = EulerAncestralDiscreteScheduler.from_pretrained('ford442/RealVisXL_V5.0_BF16', subfolder='scheduler',beta_schedule="scaled_linear", beta_start=0.00085, beta_end=0.012, steps_offset=1,use_karras_sigmas=True)
|
91 |
#sched = DPMSolverSDEScheduler.from_pretrained('ford442/RealVisXL_V5.0_BF16', subfolder='scheduler')
|
92 |
#sched = EulerAncestralDiscreteScheduler.from_pretrained('ford442/RealVisXL_V5.0_BF16', subfolder='scheduler',beta_schedule="scaled_linear", token=True) #, beta_start=0.00085, beta_end=0.012, steps_offset=1,use_karras_sigmas=True, token=True)
|
@@ -96,12 +102,16 @@ def load_and_prepare_model():
|
|
96 |
#torch_dtype=torch.bfloat16,
|
97 |
token=True,
|
98 |
add_watermarker=False,
|
99 |
-
|
100 |
-
|
|
|
|
|
|
|
101 |
vae=None,
|
102 |
)
|
103 |
-
|
104 |
-
|
|
|
105 |
#pipe.vae.do_resize=False
|
106 |
#pipe.vae.vae_scale_factor=8
|
107 |
#pipe.to(device)
|
@@ -110,22 +120,14 @@ def load_and_prepare_model():
|
|
110 |
pipe.watermark=None
|
111 |
pipe.safety_checker=None
|
112 |
#pipe.unet.to(memory_format=torch.channels_last)
|
113 |
-
#pipe.enable_vae_tiling()
|
114 |
pipe.to(device=device, dtype=torch.bfloat16)
|
115 |
pipe.vae = vaeXL.to(device) #.to('cpu') #.to(torch.bfloat16)
|
116 |
-
|
117 |
-
# Enable attention slicing
|
118 |
-
pipe.enable_attention_slicing()
|
119 |
-
|
120 |
pipe.unet.set_attn_processor(AttnProcessor2_0())
|
121 |
pipe.vae.set_default_attn_processor()
|
122 |
return pipe
|
123 |
|
124 |
pipe = load_and_prepare_model()
|
125 |
|
126 |
-
text_encoder=CLIPTextModel.from_pretrained('ford442/RealVisXL_V5.0_BF16', subfolder='text_encoder',token=True)#.to(device=device, dtype=torch.bfloat16)
|
127 |
-
text_encoder_2=CLIPTextModelWithProjection.from_pretrained('ford442/RealVisXL_V5.0_BF16', subfolder='text_encoder_2',token=True)#.to(device=device, dtype=torch.bfloat16)
|
128 |
-
|
129 |
MAX_SEED = np.iinfo(np.int32).max
|
130 |
|
131 |
neg_prompt_2 = " 'non-photorealistic':1.5, 'unrealistic skin','unattractive face':1.3, 'low quality':1.1, ('dull color scheme', 'dull colors', 'digital noise':1.2),'amateurish', 'poorly drawn face':1.3, 'poorly drawn', 'distorted face', 'low resolution', 'simplistic' "
|
|
|
20 |
import datetime
|
21 |
#from diffusers import DPMSolverSDEScheduler
|
22 |
from diffusers.models.attention_processor import AttnProcessor2_0
|
23 |
+
from transformers import CLIPTextModelWithProjection, CLIPTextModel, CLIPTokenizer
|
24 |
torch.backends.cuda.matmul.allow_tf32 = False
|
25 |
torch.backends.cuda.matmul.allow_bf16_reduced_precision_reduction = False
|
26 |
torch.backends.cuda.matmul.allow_fp16_reduced_precision_reduction = False
|
|
|
82 |
os.putenv("HF_HUB_ENABLE_HF_TRANSFER","1")
|
83 |
|
84 |
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
|
85 |
+
|
86 |
+
text_encoder=CLIPTextModel.from_pretrained('ford442/RealVisXL_V5.0_BF16', low_cpu_mem_usage=False, subfolder='text_encoder',token=True)#.to(device=device, dtype=torch.bfloat16)
|
87 |
+
text_encoder_2=CLIPTextModelWithProjection.from_pretrained('ford442/RealVisXL_V5.0_BF16', low_cpu_mem_usage=False, subfolder='text_encoder_2',token=True)#.to(device=device, dtype=torch.bfloat16)
|
88 |
+
tokenizer_1=CLIPTokenizer.from_pretrained('ford442/RealVisXL_V5.0_BF16', low_cpu_mem_usage=False, subfolder='tokenizer',token=True)
|
89 |
+
tokenizer_2=CLIPTokenizer.from_pretrained('ford442/RealVisXL_V5.0_BF16', low_cpu_mem_usage=False, subfolder='tokenizer_2',token=True)
|
90 |
+
scheduler=EulerAncestralDiscreteScheduler.from_pretrained('ford442/RealVisXL_V5.0_BF16', low_cpu_mem_usage=False, subfolder='scheduler',token=True)
|
91 |
+
vaeXL = AutoencoderKL.from_pretrained("stabilityai/sdxl-vae", low_cpu_mem_usage=False, safety_checker=None, use_safetensors=False, torch_dtype=torch.float32, token=True) #.to(device).to(torch.bfloat16) #.to(device=device, dtype=torch.bfloat16)
|
92 |
+
|
93 |
def load_and_prepare_model():
|
94 |
#vaeRV = AutoencoderKL.from_pretrained("SG161222/RealVisXL_V5.0", subfolder='vae', safety_checker=None, use_safetensors=True, token=True)
|
95 |
#vaeXL = AutoencoderKL.from_pretrained("stabilityai/sdxl-vae", safety_checker=None, use_safetensors=False, low_cpu_mem_usage=False, torch_dtype=torch.float32, token=True) #.to(device).to(torch.bfloat16) #.to(device=device, dtype=torch.bfloat16)
|
|
|
96 |
#sched = EulerAncestralDiscreteScheduler.from_pretrained('ford442/RealVisXL_V5.0_BF16', subfolder='scheduler',beta_schedule="scaled_linear", beta_start=0.00085, beta_end=0.012, steps_offset=1,use_karras_sigmas=True)
|
97 |
#sched = DPMSolverSDEScheduler.from_pretrained('ford442/RealVisXL_V5.0_BF16', subfolder='scheduler')
|
98 |
#sched = EulerAncestralDiscreteScheduler.from_pretrained('ford442/RealVisXL_V5.0_BF16', subfolder='scheduler',beta_schedule="scaled_linear", token=True) #, beta_start=0.00085, beta_end=0.012, steps_offset=1,use_karras_sigmas=True, token=True)
|
|
|
102 |
#torch_dtype=torch.bfloat16,
|
103 |
token=True,
|
104 |
add_watermarker=False,
|
105 |
+
text_encoder=None,
|
106 |
+
text_encoder_2=None,
|
107 |
+
tokenizer=None,
|
108 |
+
tokenizer_2=None,
|
109 |
+
scheduler=None,
|
110 |
vae=None,
|
111 |
)
|
112 |
+
pipe.scheduler=scheduler
|
113 |
+
pipe.tokenizer=tokenizer_1
|
114 |
+
pipe.tokenizer_2=tokenizer_2
|
115 |
#pipe.vae.do_resize=False
|
116 |
#pipe.vae.vae_scale_factor=8
|
117 |
#pipe.to(device)
|
|
|
120 |
pipe.watermark=None
|
121 |
pipe.safety_checker=None
|
122 |
#pipe.unet.to(memory_format=torch.channels_last)
|
|
|
123 |
pipe.to(device=device, dtype=torch.bfloat16)
|
124 |
pipe.vae = vaeXL.to(device) #.to('cpu') #.to(torch.bfloat16)
|
|
|
|
|
|
|
|
|
125 |
pipe.unet.set_attn_processor(AttnProcessor2_0())
|
126 |
pipe.vae.set_default_attn_processor()
|
127 |
return pipe
|
128 |
|
129 |
pipe = load_and_prepare_model()
|
130 |
|
|
|
|
|
|
|
131 |
MAX_SEED = np.iinfo(np.int32).max
|
132 |
|
133 |
neg_prompt_2 = " 'non-photorealistic':1.5, 'unrealistic skin','unattractive face':1.3, 'low quality':1.1, ('dull color scheme', 'dull colors', 'digital noise':1.2),'amateurish', 'poorly drawn face':1.3, 'poorly drawn', 'distorted face', 'low resolution', 'simplistic' "
|