Fix flux ipadapter weights and time ranges not working

This commit is contained in:
yolain
2024-11-23 17:42:47 +08:00
parent 20e360036f
commit 9c1806f71d
2 changed files with 4 additions and 15 deletions
-1
View File
@@ -4,7 +4,6 @@ import torch
import torch.nn as nn
import torch.nn.functional as F
from einops import rearrange
from diffusers.models.normalization import RMSNorm
class RMSNorm(nn.Module):
def __init__(self, dim, eps: float, elementwise_affine: bool = True):
+4 -14
View File
@@ -10,21 +10,11 @@ def FluxUpdateModules(flux_model, ip_attn_procs, image_emb, is_patched):
dsb_count = len(flux_model.diffusion_model.double_blocks)
ssb_count = len(flux_model.diffusion_model.single_blocks)
for i in range(dsb_count):
if not is_patched:
# initial ipa models with image embeddings
flux_model.diffusion_model.double_blocks[i] = DoubleStreamBlockIPA(
flux_model.diffusion_model.double_blocks[i], ip_attn_procs[f"double_blocks.{i}"], image_emb)
else:
# replace image embeddings with new embeddings
flux_model.diffusion_model.double_blocks[i].image_emb = image_emb
flux_model.diffusion_model.double_blocks[i] = DoubleStreamBlockIPA(
flux_model.diffusion_model.double_blocks[i], ip_attn_procs[f"double_blocks.{i}"], image_emb)
for i in range(ssb_count):
if not is_patched:
# initial ipa models with image embeddings
flux_model.diffusion_model.single_blocks[i] = SingleStreamBlockIPA(
flux_model.diffusion_model.single_blocks[i], ip_attn_procs[f"single_blocks.{i}"], image_emb)
else:
# replace image embeddings with new embeddings
flux_model.diffusion_model.single_blocks[i].image_emb = image_emb
flux_model.diffusion_model.single_blocks[i] = SingleStreamBlockIPA(
flux_model.diffusion_model.single_blocks[i], ip_attn_procs[f"single_blocks.{i}"], image_emb)
def is_model_pathched(model):