NVlabs / nvdiffrast

Nvdiffrast - Modular Primitives for High-Performance Differentiable Rendering
Other
1.43k stars 157 forks source link

ImportError: /root/.cache/torch_extensions/py310_cu124/nvdiffrast_plugin/nvdiffrast_plugin.so: cannot open shared object file: No such file or directory #207

Open FurkanGozukara opened 3 weeks ago

FurkanGozukara commented 3 weeks ago

Main issue : https://github.com/Tencent/Hunyuan3D-1/issues/5

How I installed with no errors on Cuda 12.4, Python 3.10.11 : pip install git+https://github.com/NVlabs/nvdiffrast

RTX A6000 , ubuntu 22


100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 25/25 [00:15<00:00,  1.58it/s]
[HunYuan3D]-[text to image], cost time: 16.2816s
[HunYuan3D]-[remove background], cost time: 3.9235s
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [00:12<00:00,  4.09it/s]
[HunYuan3D]-[image to views], cost time: 13.0661s
./outputs/app_output/2
=====> LRM forward time: 2.2705509662628174
=====> generate mesh with vertex shading time: 2.4042084217071533
Using xatlas to perform UV unwrapping, may take a while ...
Traceback (most recent call last):
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/gradio/queueing.py", line 624, in process_events
    response = await route_utils.call_process_api(
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/gradio/route_utils.py", line 323, in call_process_api
    output = await app.get_blocks().process_api(
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/gradio/blocks.py", line 2015, in process_api
    result = await self.call_function(
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/gradio/blocks.py", line 1562, in call_function
    prediction = await anyio.to_thread.run_sync(  # type: ignore
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2441, in run_sync_in_worker_thread
    return await future
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 943, in run
    result = context.run(func, *args)
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/gradio/utils.py", line 865, in wrapper
    response = f(*args, **kwargs)
  File "/workspace/Hunyuan3D-1/app.py", line 182, in stage_3_v23
    worker_v23(
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
  File "/workspace/Hunyuan3D-1/infer/utils.py", line 49, in wrapper
    result = func(*args, **kwargs)
  File "/workspace/Hunyuan3D-1/infer/utils.py", line 66, in wrapper
    output = func(*args, **kwargs)
  File "/workspace/Hunyuan3D-1/infer/views_to_mesh.py", line 85, in __call__
    self.mv23d_predictor.predict(
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
  File "/workspace/Hunyuan3D-1/svrm/predictor.py", line 145, in predict
    self.model.export_mesh_with_uv(
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
  File "/workspace/Hunyuan3D-1/svrm/ldm/models/svrm.py", line 213, in export_mesh_with_uv
    ctx = NVDiffRasterizerContext(context_type, cur_triplane.device) if ctx is None else ctx
  File "/workspace/Hunyuan3D-1/svrm/ldm/modules/rendering_neus/rasterize.py", line 10, in __init__
    self.ctx = self.initialize_context(context_type, device)
  File "/workspace/Hunyuan3D-1/svrm/ldm/modules/rendering_neus/rasterize.py", line 18, in initialize_context
    return dr.RasterizeCudaContext(device=device)
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/nvdiffrast/torch/ops.py", line 184, in __init__
    self.cpp_wrapper = _get_plugin().RasterizeCRStateWrapper(cuda_device_idx)
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/nvdiffrast/torch/ops.py", line 125, in _get_plugin
    torch.utils.cpp_extension.load(name=plugin_name, sources=source_paths, extra_cflags=common_opts+cc_opts, extra_cuda_cflags=common_opts+['-lineinfo'], extra_ldflags=ldflags, with_cuda=True, verbose=False)
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1314, in load
    return _jit_compile(
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1746, in _jit_compile
    return _import_module_from_library(name, build_directory, is_python_module)
  File "/workspace/Hunyuan3D-1/venv/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2140, in _import_module_from_library
    module = importlib.util.module_from_spec(spec)
  File "<frozen importlib._bootstrap>", line 571, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1176, in create_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
ImportError: /root/.cache/torch_extensions/py310_cu124/nvdiffrast_plugin/nvdiffrast_plugin.so: cannot open shared object file: No such file or directory
zbclovehj commented 2 weeks ago

You can find the nvdiffrast_plugin, and to use ninja compile file.

zbclovehj commented 2 weeks ago

cd C:\Users*\AppData\Local\torch_extensions\torch_extensions\Cache\py311_cu124\nvdiffrast_plugin ninja

FurkanGozukara commented 2 weeks ago

cd C:\Users*\AppData\Local\torch_extensions\torch_extensions\Cache\py311_cu124\nvdiffrast_plugin ninja

thanks a lot for answer will try

jdc1202 commented 2 weeks ago

I have the same question. Are you fix the bug?