故障现象:
新装系统运行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,故障消失