kijai / ComfyUI-MimicMotionWrapper

Apache License 2.0
277 stars 24 forks source link

Failed to import transformers.models.clip.image_processing_clip #2

Closed mrkennypowers closed 3 months ago

mrkennypowers commented 3 months ago

This was working perfectly less then an hour ago, but I tried installing the reactor node and now every time i run comfy the import fails.

I've reinstalled comfy countless times now and nothing is changing. I have never experienced this issue and wondering if anyone else has?

Here is the entire log:

Traceback (most recent call last): File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\utils\import_utils.py", line 1364, in _get_module return importlib.import_module("." + module_name, self.name) File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\importlib__init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1050, in _gcd_import File "", line 1027, in _find_and_load File "", line 1006, in _find_and_load_unlocked File "", line 688, in _load_unlocked File "", line 883, in exec_module File "", line 241, in _call_with_frames_removed File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\models\clip\image_processing_clip.py", line 21, in from ...image_processing_utils import BaseImageProcessor, BatchFeature, get_size_dict File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\image_processing_utils.py", line 28, in from .image_transforms import center_crop, normalize, rescale File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\image_transforms.py", line 47, in import tensorflow as tf File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow__init__.py", line 37, in from tensorflow.python.tools import module_util as _module_util File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\python__init.py", line 37, in from tensorflow.python.eager import context File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\python\eager\context.py", line 29, in from tensorflow.core.framework import function_pb2 File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\core\framework\function_pb2.py", line 16, in from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attrvalue__pb2 File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\core\framework\attr_value_pb2.py", line 16, in from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensorpb2 File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\core\framework\tensor_pb2.py", line 16, in from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resourcehandlepb2 File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\core\framework\resource_handle_pb2.py", line 16, in from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensorshapepb2 File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\core\framework\tensor_shape_pb2.py", line 36, in _descriptor.FieldDescriptor( File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\google\protobuf\descriptor.py", line 621, in new _message.Message._CheckCalledFromGeneratedFile() TypeError: Descriptors cannot be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.If you cannot immediately regenerate your protos, some other possible workarounds are:

  1. Downgrade the protobuf package to 3.20.x or lower.
  2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "A:\ComfyUi X1\ComfyUI\nodes.py", line 1906, in load_custom_node module_spec.loader.exec_module(module) File "", line 883, in exec_module File "", line 241, in _call_with_frames_removed File "A:\ComfyUi X1\ComfyUI\custom_nodes\ComfyUI-MimicMotionWrapper__init.py", line 1, in from .nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS File "A:\ComfyUi X1\ComfyUI\custom_nodes\ComfyUI-MimicMotionWrapper\nodes.py", line 14, in from transformers import CLIPImageProcessor, CLIPVisionModelWithProjection File "", line 1075, in _handle_fromlist File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\utils\import_utils.py", line 1355, in getattr__ value = getattr(module, name) File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\utils\import_utils.py", line 1354, in getattr module = self._get_module(self._class_to_module[name]) File "C:\Users\evan8\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\utils\import_utils.py", line 1366, in _get_module raise RuntimeError( RuntimeError: Failed to import transformers.models.clip.image_processing_clip because of the following error (look up to see its traceback): Descriptors cannot be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.If you cannot immediately regenerate your protos, some other possible workarounds are:

  1. Downgrade the protobuf package to 3.20.x or lower.
  2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

Cannot import A:\ComfyUi X1\ComfyUI\custom_nodes\ComfyUI-MimicMotionWrapper module for custom nodes: Failed to import transformers.models.clip.image_processing_clip because of the following error (look up to see its traceback): Descriptors cannot be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.If you cannot immediately regenerate your protos, some other possible workarounds are:

  1. Downgrade the protobuf package to 3.20.x or lower.
  2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

kijai commented 3 months ago

Uh... the reactor node installs (or tries to) the notorious insightface package, it can make big changes to your python environment in general.

You also seem to be using your system wide python to run Comfy? That's generally a bad idea if you use python for anything else, but not necessarily the issue here.

You could try updating transformers, or as the error states: downgrade protobuf version. Updates transformers to latest, which is what I personally use: pip install -U transformers Downgrade protobuf: pip install protobuf==3.20.0

Though I'm personally currently using protobuf==4.25.3

mrkennypowers commented 3 months ago

Thank you, the latter worked. I didn't know that the insightface package was such an issue, Its just every run my character mysteriously turns asian. Is there another face swapper that can un-asian my caucasian?

kijai commented 3 months ago

Thank you, the latter worked. I didn't know that the insightface package was such an issue, Its just every run my character mysteriously turns asian. Is there another face swapper that can un-asian my caucasian?

Yeah this definitely is heavily biased towards that face type.

I've done face detailer/fix workflows before, I should probably update one to pair with this.