import torch from safetensors.torch import save_file # Load the original .bin file orig = torch.load("pytorch_model.bin", map_location="cpu") converted = {} # Convert ip_adapter weights for key, value in orig["ip_adapter"].items(): # e.g. '0.to_k_ip.weight' → 'ip_adapter.0.to_k_ip.weight' parts = key.split(".", 1) if len(parts) == 2: new_key = f"ip_adapter.{parts[0]}.{parts[1]}" else: new_key = f"ip_adapter.{key}" converted[new_key] = value # Convert image_proj weights for key, value in orig["image_proj"].items(): # Do not rename! Just prepend with 'image_proj.' new_key = f"image_proj.{key}" converted[new_key] = value # Save to safetensors save_file(converted, "ip_adapter.safetensors")