In cfr_lora_training.py:
for i in range(train_dataset._concept_num): # the number of concept/lora
attn_controller = AttnController()
if i != 0:
unet.set_default_attn_processor()
for name, m in unet.named_modules():
if name.endswith('attn2') or name.endswith('attn1'):
cross_attention_dim = None if name.endswith("attn1") else unet.config.cross_attention_dim
if name.startswith("mid_block"):
hidden_size = unet.config.block_out_channels[-1]
elif name.startswith("up_blocks"):
block_id = int(name[len("up_blocks.")])
hidden_size = list(reversed(unet.config.block_out_channels))[block_id]
elif name.startswith("down_blocks"):
block_id = int(name[len("down_blocks.")])
hidden_size = unet.config.block_out_channels[block_id]
m.set_processor(LoRAAttnProcessor(
hidden_size=hidden_size,
cross_attention_dim=cross_attention_dim,
rank=args.rank,
attn_controller=attn_controller,
module_name=name,
preserve_prior=args.with_prior_preservation,
))
### set lora
lora_attn_procs = {}
for key, value in zip(unet.attn_processors.keys(), unet.attn_processors.values()):
if key.endswith("attn2.processor"):
lora_attn_procs[f'{key}.to_k_lora'] = value.to_k_lora
lora_attn_procs[f'{key}.to_v_lora'] = value.to_v_lora
# lora_attn_procs[f'{key}.to_q_lora'] = value.to_q_lora
# lora_attn_procs[f'{key}.to_out_lora'] = value.to_out_lora
# unet.set_attn_processor(lora_attn_procs)
lora_layers = AttnProcsLayers(lora_attn_procs)
it will report AttributeError: 'UNet2DConditionModel' object has no attribute 'attn_processors'. Did you mean: 'set_attn_processor'? when i > 0 at the line for key, value in zip(unet.attn_processors.keys(), unet.attn_processors.values()):.
I have checked my diffusers==0.22.0. Do you have any ideas about this error?
In
cfr_lora_training.py:it will report
AttributeError: 'UNet2DConditionModel' object has no attribute 'attn_processors'. Did you mean: 'set_attn_processor'?wheni > 0at the linefor key, value in zip(unet.attn_processors.keys(), unet.attn_processors.values()):.I have checked my diffusers==0.22.0. Do you have any ideas about this error?