MrForExample / ComfyUI-3D-Pack

An extensive node suite that enables ComfyUI to process 3D inputs (Mesh & UV Texture, etc) using cutting edge algorithms (3DGS, NeRF, etc.)
MIT License
2.22k stars 224 forks source link

No module named 'pointenet2_ops' #11

Open 0X-JonMichaelGalindo opened 8 months ago

0X-JonMichaelGalindo commented 8 months ago

All dependencies installed correctly following procedure in readme. Successfully ran example workflow "Multi-View-Images_to_3DGS_to_3DMesh(DMTet and DiffRast).json" (Worse quality than results using default settings from threestudio.) Successfully ran example workflow "Using_Stack_Orbit_Camera_Poses_to_conditioning_StableZero123.json"

Error encountered for example workflow "Triplane_Gaussian_Transformers_to_3DGS.json"

Error occurred when executing [Comfy3D] Load Triplane Gaussian Transformers:

No module named 'pointnet2_ops'

  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 152, in recursive_execute
    output_data, output_ui = get_output_data(obj, input_data_all)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 82, in get_output_data
    return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 70, in map_node_over_list
    results.append(getattr(obj, func)())
                   ^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 1027, in load_TGS
    tgs_model = TGS(cfg=cfg.system).to(device)
                ^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\triplane_gaussian_transformers.py", line 85, in __init__
    self.pointcloud_generator = find(self.cfg.pointcloud_generator_cls)(self.cfg.pointcloud_generator)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\utils\base.py", line 103, in __init__
    self.configure(*args, **kwargs)
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\models\pointclouds\simplepoint.py", line 60, in configure
    self.pointcloud_upsampling = tgs.find(self.cfg.pointcloud_upsampling_cls)(self.cfg.pointcloud_upsampling)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\__init__.py", line 9, in find
    module = importlib.import_module(module_string, package=__name__)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "", line 1204, in _gcd_import
  File "", line 1176, in _find_and_load
  File "", line 1147, in _find_and_load_unlocked
  File "", line 690, in _load_unlocked
  File "", line 940, in exec_module
  File "", line 241, in _call_with_frames_removed
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\models\snowflake\model_spdpp.py", line 19, in 
    from .utils import fps_subsample
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\models\snowflake\utils.py", line 9, in 
    from pointnet2_ops.pointnet2_utils import furthest_point_sample, \

Windows 11 13th Gen Intel Core i9-13900K NVIDIA GeForce RTX 4090

(Not necessarily a deal-breaker issue here. I don't know why I would want this example workflow considering the other 2 effectively provide an image-to-3d pipeline, with some modifications to the camera orbits.)

MrForExample commented 8 months ago

It seems you didn't install the pointnet2_ops in TriplaneGaussian, it should be installed if you are running install.bat Or running cd tgs/models/snowflake/pointnet2_ops_lib && python setup.py install && cd ../../../../ from Comfy3D root directory