banodoco / Steerable-Motion

A ComfyUI node for driving videos using batches of images.
Other
763 stars 41 forks source link

Update seems to have broken something: 'Attn2Replace' object has no attribute 'ipadapters' #67

Closed formulake closed 2 months ago

formulake commented 2 months ago

I just updated my nodes and I'm not sure which of the other node updates is responsible for this but the BatchCreativeInterpolation node now throws up this error:

Error occurred when executing BatchCreativeInterpolation:

'Attn2Replace' object has no attribute 'ipadapters'

File "F:\Tools\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "F:\Tools\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "F:\Tools\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "F:\Tools\ComfyUI\custom_nodes\steerable-motion\SteerableMotion.py", line 568, in combined_function
model, = ipadapter_application.apply_ipadapter(model=model, ipadapter=ipadapter, image=torch.cat(bin.imageBatch, dim=0), weight=[x * base_ipa_advanced_settings["ipa_weight"] for x in bin.weight_schedule], weight_type=base_ipa_advanced_settings["ipa_weight_type"], start_at=base_ipa_advanced_settings["ipa_starts_at"], end_at=base_ipa_advanced_settings["ipa_ends_at"], clip_vision=clip_vision,image_negative=negative_noise,embeds_scaling=base_ipa_advanced_settings["ipa_embeds_scaling"], image_schedule=bin.image_schedule)
File "F:\Tools\ComfyUI\custom_nodes\steerable-motion\imports\ComfyUI_IPAdapter_plus\IPAdapterPlus.py", line 686, in apply_ipadapter
return (ipadapter_execute(model.clone(), ipadapter_model, clip_vision, **ipa_args), )
File "F:\Tools\ComfyUI\custom_nodes\steerable-motion\imports\ComfyUI_IPAdapter_plus\IPAdapterPlus.py", line 385, in ipadapter_execute
set_model_patch_replace(model, patch_kwargs, ("input", id))
File "F:\Tools\ComfyUI\custom_nodes\steerable-motion\imports\ComfyUI_IPAdapter_plus\IPAdapterPlus.py", line 148, in set_model_patch_replace
to["patches_replace"]["attn2"][key] = CrossAttentionPatchImport.from_cross_attention_patch(to["patches_replace"]["attn2"][key])
File "F:\Tools\ComfyUI\custom_nodes\steerable-motion\imports\ComfyUI_IPAdapter_plus\CrossAttentionPatchImport.py", line 30, in from_cross_attention_patch
instance = cls(ipadapter = patch.ipadapters[0])

EDIT: I should add that this occurs while using the SuperBeasts-POM-SmoothBatchCreative workflow as well as the basic workflow

formulake commented 2 months ago

I see that the update to the demo workflow has resolved this issue. Could anyone help with pointing out what needs changing to fix the others?

jags111 commented 2 months ago

finding same error now after the update with the work flow that was doing fine and suddenly this new error crops up File "I:\AI\ComfyUI\custom_nodes\Steerable-Motion\imports\ComfyUI_IPAdapter_plus\IPAdapterPlus.py", line 686, in apply_ipadapter return (ipadapter_execute(model.clone(), ipadapter_model, clip_vision, **ipa_args), ) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "I:\AI\ComfyUI\custom_nodes\Steerable-Motion\imports\ComfyUI_IPAdapter_plus\IPAdapterPlus.py", line 385, in ipadapter_execute set_model_patch_replace(model, patch_kwargs, ("input", id)) File "I:\AI\ComfyUI\custom_nodes\Steerable-Motion\imports\ComfyUI_IPAdapter_plus\IPAdapterPlus.py", line 148, in set_model_patch_replace to["patches_replace"]["attn2"][key] = CrossAttentionPatchImport.from_cross_attention_patch(to["patches_replace"]["attn2"][key]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "I:\AI\ComfyUI\custom_nodes\Steerable-Motion\imports\ComfyUI_IPAdapter_plus\CrossAttentionPatchImport.py", line 30, in from_cross_attention_patch instance = cls(ipadapter = patch.ipadapters[0]) ^^^^^^^^^^^^^^^^ AttributeError: 'Attn2Replace' object has no attribute 'ipadapters'

662 [BatchCreativeInterpolation]: 1.54s

Prompt executed in 2.05 seconds

nkaijala commented 2 months ago

Same

!!! Exception during processing!!! 'Attn2Replace' object has no attribute 'ipadapters'
Traceback (most recent call last):
  File "/home/user/StabilityMatrix/Packages/ComfyUI/execution.py", line 151, in recursive_execute
    output_data, output_ui = get_output_data(obj, input_data_all)
  File "/home/user/StabilityMatrix/Packages/ComfyUI/execution.py", line 81, in get_output_data
    return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
  File "/home/user/StabilityMatrix/Packages/ComfyUI/execution.py", line 74, in map_node_over_list
    results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
  File "/home/user/StabilityMatrix/Packages/ComfyUI/custom_nodes/steerable-motion/SteerableMotion.py", line 568, in combined_function
    model, = ipadapter_application.apply_ipadapter(model=model, ipadapter=ipadapter, image=torch.cat(bin.imageBatch, dim=0), weight=[x * base_ipa_advanced_settings["ipa_weight"] for x in bin.weight_schedule], weight_type=base_ipa_advanced_settings["ipa_weight_type"], start_at=base_ipa_advanced_settings["ipa_starts_at"], end_at=base_ipa_advanced_settings["ipa_ends_at"], clip_vision=clip_vision,image_negative=negative_noise,embeds_scaling=base_ipa_advanced_settings["ipa_embeds_scaling"], image_schedule=bin.image_schedule)
  File "/home/user/StabilityMatrix/Packages/ComfyUI/custom_nodes/steerable-motion/imports/ComfyUI_IPAdapter_plus/IPAdapterPlus.py", line 686, in apply_ipadapter
    return (ipadapter_execute(model.clone(), ipadapter_model, clip_vision, **ipa_args), )
  File "/home/user/StabilityMatrix/Packages/ComfyUI/custom_nodes/steerable-motion/imports/ComfyUI_IPAdapter_plus/IPAdapterPlus.py", line 385, in ipadapter_execute
    set_model_patch_replace(model, patch_kwargs, ("input", id))
  File "/home/user/StabilityMatrix/Packages/ComfyUI/custom_nodes/steerable-motion/imports/ComfyUI_IPAdapter_plus/IPAdapterPlus.py", line 148, in set_model_patch_replace
    to["patches_replace"]["attn2"][key] = CrossAttentionPatchImport.from_cross_attention_patch(to["patches_replace"]["attn2"][key])
  File "/home/user/StabilityMatrix/Packages/ComfyUI/custom_nodes/steerable-motion/imports/ComfyUI_IPAdapter_plus/CrossAttentionPatchImport.py", line 30, in from_cross_attention_patch
    instance = cls(ipadapter = patch.ipadapters[0])
AttributeError: 'Attn2Replace' object has no attribute 'ipadapters'

Prompt executed in 15.35 seconds
formulake commented 2 months ago

Just for others facing this problem with the Superbeasts workflow, I bypassed the Anchor Frame group and the workflow started running again. It's not a fix but at least I now know where the problem is being created.

nikitalisin commented 2 months ago

Just for others facing this problem with the Superbeasts workflow, I bypassed the Anchor Frame group and the workflow started running again. It's not a fix but at least I now know where the problem is being created.

what do you mean? what do you do?

nikitalisin commented 2 months ago

I managed to solve the problem the same way you did, thank you

Just for others facing this problem with the Superbeasts workflow, I bypassed the Anchor Frame group and the workflow started running again. It's not a fix but at least I now know where the problem is being created.

formulake commented 2 months ago

Hope whatever has changed in IP Adapter is carried over to Steerable Motion as well because they're both ridiculously good, and together they're so good that I've even stopped using RunwayML. For others for whom my previous message was a bit cryptic, you just need to look for this group in any of your workflows and bypass it for now. image

makeitrad commented 2 months ago

I'm seeing the same errors on my end. I fixed by rolling back my IPadapters to the version previous, however Matteo says this fix needs to come from steerable motion.

formulake commented 2 months ago

I'm seeing the same errors on my end. I fixed by rolling back my IPadapters to the version previous, however Matteo says this fix needs to come from steerable motion.

Could you help me with how you went about rolling back IPAdapter? The anchor frame makes a huge difference to the output of the SM workflows so untill there's a fix it seems like the only way to get the best of both worlds for now.

makeitrad commented 2 months ago

I'm seeing the same errors on my end. I fixed by rolling back my IPadapters to the version previous, however Matteo says this fix needs to come from steerable motion.

Could you help me with how you went about rolling back IPAdapter? The anchor frame makes a huge difference to the output of the SM workflows so untill there's a fix it seems like the only way to get the best of both worlds for now.

I'm sure I do it the long hard way but I go to the IPadapter Plus GitHub. Click the commits button until I find an older version from a few days ago. I download a zip file of the repo from that point in time and then on my local machine I delete ComfyUI_IPadapters_plus folder in the comfyUI custom nodes folder. I then unzip the the file into this location and launch Comfy. Gluck

formulake commented 2 months ago

There may be a quicker way but this is easy to understand and pull off. Thank you!

nkaijala commented 2 months ago

As a workaround, checkout an older version of "ComfyUI_IPAdapter_plus".

cd Packages/ComfyUI/custom_nodes/ComfyUI_IPAdapter_plus # or where ever your nodes are, this is for a StabilityMatrix installation
git checkout d76bdbd2b59cb4164adb662359dc59b5aa213548

then restart ComfyUI and refresh the Web GUI.

peteromallet commented 2 months ago

I'm so sorry for the delay guys, had a crazy few days after a closed-source startup ripped off this! But it should be all fixed now - please verify and I'll close this issue!

formulake commented 1 month ago

Sorry about the late response. I was travelling all of last week and just got back. Updated all the nodes and the fix works perfectly! Thanks a ton!