diff options
Diffstat (limited to 'training/strategy')
-rw-r--r-- | training/strategy/dreambooth.py | 8 | ||||
-rw-r--r-- | training/strategy/lora.py | 12 | ||||
-rw-r--r-- | training/strategy/ti.py | 4 |
3 files changed, 12 insertions, 12 deletions
diff --git a/training/strategy/dreambooth.py b/training/strategy/dreambooth.py index e5e84c8..28fccff 100644 --- a/training/strategy/dreambooth.py +++ b/training/strategy/dreambooth.py | |||
@@ -137,8 +137,8 @@ def dreambooth_strategy_callbacks( | |||
137 | 137 | ||
138 | print("Saving model...") | 138 | print("Saving model...") |
139 | 139 | ||
140 | unet_ = accelerator.unwrap_model(unet, False) | 140 | unet_ = accelerator.unwrap_model(unet, keep_fp32_wrapper=False) |
141 | text_encoder_ = accelerator.unwrap_model(text_encoder, False) | 141 | text_encoder_ = accelerator.unwrap_model(text_encoder, keep_fp32_wrapper=False) |
142 | 142 | ||
143 | with ema_context(): | 143 | with ema_context(): |
144 | pipeline = VlpnStableDiffusion( | 144 | pipeline = VlpnStableDiffusion( |
@@ -160,8 +160,8 @@ def dreambooth_strategy_callbacks( | |||
160 | @torch.no_grad() | 160 | @torch.no_grad() |
161 | def on_sample(step): | 161 | def on_sample(step): |
162 | with ema_context(): | 162 | with ema_context(): |
163 | unet_ = accelerator.unwrap_model(unet, False) | 163 | unet_ = accelerator.unwrap_model(unet, keep_fp32_wrapper=True) |
164 | text_encoder_ = accelerator.unwrap_model(text_encoder, False) | 164 | text_encoder_ = accelerator.unwrap_model(text_encoder, keep_fp32_wrapper=True) |
165 | 165 | ||
166 | orig_unet_dtype = unet_.dtype | 166 | orig_unet_dtype = unet_.dtype |
167 | orig_text_encoder_dtype = text_encoder_.dtype | 167 | orig_text_encoder_dtype = text_encoder_.dtype |
diff --git a/training/strategy/lora.py b/training/strategy/lora.py index aa75bec..1c8fad6 100644 --- a/training/strategy/lora.py +++ b/training/strategy/lora.py | |||
@@ -47,7 +47,6 @@ def lora_strategy_callbacks( | |||
47 | save_samples_ = partial( | 47 | save_samples_ = partial( |
48 | save_samples, | 48 | save_samples, |
49 | accelerator=accelerator, | 49 | accelerator=accelerator, |
50 | text_encoder=text_encoder, | ||
51 | tokenizer=tokenizer, | 50 | tokenizer=tokenizer, |
52 | vae=vae, | 51 | vae=vae, |
53 | sample_scheduler=sample_scheduler, | 52 | sample_scheduler=sample_scheduler, |
@@ -72,6 +71,7 @@ def lora_strategy_callbacks( | |||
72 | @contextmanager | 71 | @contextmanager |
73 | def on_train(epoch: int): | 72 | def on_train(epoch: int): |
74 | tokenizer.train() | 73 | tokenizer.train() |
74 | text_encoder.train() | ||
75 | yield | 75 | yield |
76 | 76 | ||
77 | @contextmanager | 77 | @contextmanager |
@@ -89,8 +89,8 @@ def lora_strategy_callbacks( | |||
89 | def on_checkpoint(step, postfix): | 89 | def on_checkpoint(step, postfix): |
90 | print(f"Saving checkpoint for step {step}...") | 90 | print(f"Saving checkpoint for step {step}...") |
91 | 91 | ||
92 | unet_ = accelerator.unwrap_model(unet, False) | 92 | unet_ = accelerator.unwrap_model(unet, keep_fp32_wrapper=False) |
93 | text_encoder_ = accelerator.unwrap_model(text_encoder, False) | 93 | text_encoder_ = accelerator.unwrap_model(text_encoder, keep_fp32_wrapper=False) |
94 | 94 | ||
95 | lora_config = {} | 95 | lora_config = {} |
96 | state_dict = get_peft_model_state_dict(unet, state_dict=accelerator.get_state_dict(unet)) | 96 | state_dict = get_peft_model_state_dict(unet, state_dict=accelerator.get_state_dict(unet)) |
@@ -111,10 +111,10 @@ def lora_strategy_callbacks( | |||
111 | 111 | ||
112 | @torch.no_grad() | 112 | @torch.no_grad() |
113 | def on_sample(step): | 113 | def on_sample(step): |
114 | unet_ = accelerator.unwrap_model(unet, False) | 114 | unet_ = accelerator.unwrap_model(unet, keep_fp32_wrapper=True) |
115 | text_encoder_ = accelerator.unwrap_model(text_encoder, False) | 115 | text_encoder_ = accelerator.unwrap_model(text_encoder, keep_fp32_wrapper=True) |
116 | 116 | ||
117 | save_samples_(step=step, unet=unet_) | 117 | save_samples_(step=step, unet=unet_, text_encoder=text_encoder_) |
118 | 118 | ||
119 | del unet_ | 119 | del unet_ |
120 | del text_encoder_ | 120 | del text_encoder_ |
diff --git a/training/strategy/ti.py b/training/strategy/ti.py index bd0d178..2038e34 100644 --- a/training/strategy/ti.py +++ b/training/strategy/ti.py | |||
@@ -156,8 +156,8 @@ def textual_inversion_strategy_callbacks( | |||
156 | @torch.no_grad() | 156 | @torch.no_grad() |
157 | def on_sample(step): | 157 | def on_sample(step): |
158 | with ema_context(): | 158 | with ema_context(): |
159 | unet_ = accelerator.unwrap_model(unet, False) | 159 | unet_ = accelerator.unwrap_model(unet, keep_fp32_wrapper=True) |
160 | text_encoder_ = accelerator.unwrap_model(text_encoder, False) | 160 | text_encoder_ = accelerator.unwrap_model(text_encoder, keep_fp32_wrapper=True) |
161 | 161 | ||
162 | orig_unet_dtype = unet_.dtype | 162 | orig_unet_dtype = unet_.dtype |
163 | orig_text_encoder_dtype = text_encoder_.dtype | 163 | orig_text_encoder_dtype = text_encoder_.dtype |