srcphag commited on
Commit
9d2d5e5
·
1 Parent(s): 2068af4

Added new merged safetensors files

Browse files
MergeSafetensors.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from safetensors.torch import save_file, load_file
2
+ import torch
3
+
4
+ def merge_model_components(
5
+ unet_path,
6
+ vae_path,
7
+ text_encoder_path,
8
+ output_path
9
+ ):
10
+ """
11
+ Merge UNet, VAE, and text encoder into a single safetensors file.
12
+
13
+ Args:
14
+ unet_path: Path to the main model/unet safetensors file
15
+ vae_path: Path to the VAE safetensors file
16
+ text_encoder_path: Path to the text encoder/CLIP safetensors file
17
+ output_path: Path where the merged file will be saved
18
+ """
19
+
20
+ print("Loading UNet/Model weights...")
21
+ unet_state = load_file(unet_path)
22
+
23
+ print("Loading VAE weights...")
24
+ vae_state = load_file(vae_path)
25
+
26
+ print("Loading Text Encoder weights...")
27
+ text_encoder_state = load_file(text_encoder_path)
28
+
29
+ # Merge all state dictionaries
30
+ print("Merging state dictionaries...")
31
+ merged_state = {}
32
+
33
+ # Add all UNet weights
34
+ merged_state.update(unet_state)
35
+
36
+ # Add VAE weights with proper prefixes if needed
37
+ for key, value in vae_state.items():
38
+ # If keys don't already have 'vae.' prefix, add it
39
+ if not key.startswith('vae.'):
40
+ merged_state[f'vae.{key}'] = value
41
+ else:
42
+ merged_state[key] = value
43
+
44
+ # Add text encoder weights with proper prefixes
45
+ for key, value in text_encoder_state.items():
46
+ # If keys don't already have 'text_encoder.' prefix, add it
47
+ if not key.startswith('text_encoder.'):
48
+ merged_state[f'text_encoder.{key}'] = value
49
+ else:
50
+ merged_state[key] = value
51
+
52
+ print(f"Total parameters in merged model: {len(merged_state)}")
53
+ print(f"Saving merged model to {output_path}...")
54
+
55
+ # Save the merged state dictionary
56
+ save_file(merged_state, output_path)
57
+
58
+ print("✅ Merge complete!")
59
+ print(f"File saved to: {output_path}")
60
+
61
+ # Print file size
62
+ import os
63
+ size_gb = os.path.getsize(output_path) / (1024**3)
64
+ print(f"File size: {size_gb:.2f} GB")
65
+
66
+
67
+ # Example usage
68
+ if __name__ == "__main__":
69
+ merge_model_components(
70
+ unet_path="svdq-fp4_r32-flux.1-depth-dev.safetensors",
71
+ vae_path="vae/diffusion_pytorch_model.safetensors",
72
+ text_encoder_path="text_encoder/model.safetensors",
73
+ output_path="flux1-depth-dev_fp4_merged_model.safetensors"
74
+ )
flux1-depth-dev_fp4_merged_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:44d0a7a1c2353131a545f3a62ceff6a5affa2b5cfcc28f334a075bb58df8819b
3
+ size 7866673892
svdq-fp4_r32-flux.1-depth-dev.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4df7e844b18c35e003b906c5690894529b1f9ccccb2b32977948461f1db45d2a
3
+ size 7039100192