AttributeError(AttributeError: ‘DynamicCache‘ object has no attribute ‘get_max_length‘. Did you mean

故障现象:

新装系统运行comfyui时出现提示:
!!! Exception during processing !!! 'DynamicCache' object has no attribute 'get_max_length'
Traceback (most recent call last):
  File "/home/chawk/ComfyUI/execution.py", line 327, in execute
    output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
  File "/home/chawk/ComfyUI/execution.py", line 202, in get_output_data
    return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
  File "/home/chawk/ComfyUI/execution.py", line 174, in _map_node_over_list
    process_inputs(input_dict, i)
  File "/home/chawk/ComfyUI/execution.py", line 163, in process_inputs
    results.append(getattr(obj, func)(**inputs))
  File "/home/chawk/ComfyUI/custom_nodes/ComfyUI_LayerStyle_Advance/py/phi_nodes.py", line 124, in phi_prompt
    generate_ids = phi_model.model.generate(
  File "/home/chawk/miniconda3/envs/comfyui/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
  File "/home/chawk/miniconda3/envs/comfyui/lib/python3.10/site-packages/transformers/generation/utils.py", line 2223, in generate
    result = self._sample(
  File "/home/chawk/miniconda3/envs/comfyui/lib/python3.10/site-packages/transformers/generation/utils.py", line 3204, in _sample
    model_inputs = self.prepare_inputs_for_generation(input_ids, **model_kwargs)
  File "/home/chawk/.cache/huggingface/modules/transformers_modules/Phi-3.5-vision-instruct/modeling_phi3_v.py", line 1661, in prepare_inputs_for_generation
    max_cache_length = past_key_values.get_max_length()
  File "/home/chawk/miniconda3/envs/comfyui/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1928, in __getattr__
    raise AttributeError(
AttributeError: 'DynamicCache' object has no attribute 'get_max_length'. Did you mean: 'get_seq_length'?

定位过程:

将module.py文件中1928做相应的修改,故障依旧,同时该文件的相应位置又恢复为get_max_length,

经分析,应该是DynamicCache引发的,定位DynamicCache在transformers中的定义

解决方案:

查看transformers版本为最新版本4.49.0

属于transformers版本过新,产生的不兼容

将其版本降为4.48.0,故障消失

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值