buaacyw / GaussianEditor

[CVPR 2024] GaussianEditor: Swift and Controllable 3D Editing with Gaussian Splatting
https://buaacyw.github.io/gaussian-editor/
Other
1.07k stars 54 forks source link

Could not recognize scene type! #3

Closed liwei0705 closed 9 months ago

liwei0705 commented 10 months ago

I tried webui in a docker (Window & WSL ) and got error as below

root@e26714615908:/app/github/GaussianEditor# nvidia-smi
Tue Nov 28 12:03:07 2023       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.103                Driver Version: 537.13       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3090        On  | 00000000:01:00.0  On |                  N/A |
|  0%   47C    P8              36W / 350W |    971MiB / 24576MiB |      9%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A        20      G   /Xwayland                                 N/A      |
|    0   N/A  N/A        20      G   /Xwayland                                 N/A      |
|    0   N/A  N/A        27      G   /Xwayland                                 N/A      |
+---------------------------------------------------------------------------------------+
root@e26714615908:/app/github/GaussianEditor# python3
Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.__version__
'2.0.1+cu118'
>>> import torchvision
>>> torchvision.__version__
'0.15.2+cu118'
>>> exit()
root@e26714615908:/app/github/GaussianEditor# python3 webui.py \
    --colmap_dir /app/github/dataset/models/bicycle \
    --gs_source /app/github/dataset/models/bicycle/point_cloud/iteration_7000/point_cloud.ply
/usr/local/lib/python3.10/dist-packages/controlnet_aux/segment_anything/modeling/tiny_vit_sam.py:654: UserWarning: Overwriting tiny_vit_5m_224 in registry with controlnet_aux.segment_anything.modeling.tiny_vit_sam.tiny_vit_5m_224. This is because the name being registered conflicts with an existing name. Please check if this is not expected.
  return register_model(fn_wrapper)
/usr/local/lib/python3.10/dist-packages/controlnet_aux/segment_anything/modeling/tiny_vit_sam.py:654: UserWarning: Overwriting tiny_vit_11m_224 in registry with controlnet_aux.segment_anything.modeling.tiny_vit_sam.tiny_vit_11m_224. This is because the name being registered conflicts with an existing name. Please check if this is not expected.
  return register_model(fn_wrapper)
/usr/local/lib/python3.10/dist-packages/controlnet_aux/segment_anything/modeling/tiny_vit_sam.py:654: UserWarning: Overwriting tiny_vit_21m_224 in registry with controlnet_aux.segment_anything.modeling.tiny_vit_sam.tiny_vit_21m_224. This is because the name being registered conflicts with an existing name. Please check if this is not expected.
  return register_model(fn_wrapper)
/usr/local/lib/python3.10/dist-packages/controlnet_aux/segment_anything/modeling/tiny_vit_sam.py:654: UserWarning: Overwriting tiny_vit_21m_384 in registry with controlnet_aux.segment_anything.modeling.tiny_vit_sam.tiny_vit_21m_384. This is because the name being registered conflicts with an existing name. Please check if this is not expected.
  return register_model(fn_wrapper)
/usr/local/lib/python3.10/dist-packages/controlnet_aux/segment_anything/modeling/tiny_vit_sam.py:654: UserWarning: Overwriting tiny_vit_21m_512 in registry with controlnet_aux.segment_anything.modeling.tiny_vit_sam.tiny_vit_21m_512. This is because the name being registered conflicts with an existing name. Please check if this is not expected.
  return register_model(fn_wrapper)
/usr/local/lib/python3.10/dist-packages/groundingdino/models/GroundingDINO/ms_deform_attn.py:31: UserWarning: Failed to load custom C++ ops. Running on CPU mode Only!
  warnings.warn("Failed to load custom C++ ops. Running on CPU mode Only!")
Traceback (most recent call last):
  File "/app/github/GaussianEditor/webui.py", line 1537, in <module>
    webui = WebUI(args)
  File "/app/github/GaussianEditor/webui.py", line 127, in __init__
    scene = CamScene(self.colmap_dir, h=512, w=512)
  File "/app/github/GaussianEditor/gaussiansplatting/scene/camera_scene.py", line 39, in __init__
    assert False, "Could not recognize scene type!"
AssertionError: Could not recognize scene type!
root@e26714615908:/app/github/GaussianEditor# 

pip list :

root@e26714615908:/app/github/GaussianEditor# pip list  
Package                     Version      Editable project location
--------------------------- ------------ -----------------------------------------------------------------------------------
absl-py                     2.0.0
accelerate                  0.24.1
addict                      2.4.0
aiofiles                    23.2.1
aiohttp                     3.9.1
aiosignal                   1.3.1
albumentations              0.5.2
altair                      5.2.0
annotated-types             0.6.0
antlr4-python3-runtime      4.9.3
anyio                       3.7.1
appdirs                     1.4.4
asttokens                   2.4.1
async-timeout               4.0.3
attrs                       23.1.0
beautifulsoup4              4.12.2
bitsandbytes                0.38.1
braceexpand                 0.1.7
cachetools                  5.3.2
certifi                     2023.11.17
cffi                        1.16.0
chardet                     5.2.0
charset-normalizer          3.3.2
click                       8.1.7
clip                        1.0
cmake                       3.27.7
coloredlogs                 15.0.1
colorlog                    6.7.0
contourpy                   1.2.0
controlnet-aux              0.0.7
cycler                      0.12.1
decorator                   5.1.1
diff-gaussian-rasterization 0.0.0        /app/github/GaussianEditor/gaussiansplatting/submodules/diff-gaussian-rasterization
diffusers                   0.23.1
docker-pycreds              0.4.0
docstring-parser            0.15
easydict                    1.11
einops                      0.7.0
embreex                     2.17.7.post3
envlight                    0.1.0
exceptiongroup              1.2.0
executing                   2.0.1
fastapi                     0.104.1
ffmpy                       0.3.1
filelock                    3.13.1
flatbuffers                 23.5.26
fonttools                   4.45.1
frozenlist                  1.4.0
fsspec                      2023.10.0
ftfy                        6.1.3
gdown                       4.7.1
gitdb                       4.0.11
GitPython                   3.1.40
google-auth                 2.23.4
google-auth-oauthlib        1.1.0
gradio                      3.50.2
gradio_client               0.6.1
groundingdino               0.1.0
grpcio                      1.59.3
h11                         0.14.0
httpcore                    1.0.2
httpx                       0.25.2
huggingface-hub             0.16.4
humanfriendly               10.0
idna                        3.6
imageio                     2.33.0
imageio-ffmpeg              0.4.9
imgaug                      0.4.0
importlib-metadata          6.8.0
importlib-resources         6.1.1
ipython                     8.18.1
jaxtyping                   0.2.24
jedi                        0.19.1
Jinja2                      3.1.2
joblib                      1.3.2
jsonschema                  4.20.0
jsonschema-specifications   2023.11.1
kiui                        0.1.10
kiwisolver                  1.4.5
kornia                      0.7.0
lang-sam                    0.1.0
lazy_loader                 0.3
libigl                      2.5.0
lightning                   2.1.2
lightning-utilities         0.10.0
lit                         17.0.5
llvmlite                    0.41.1
lxml                        4.9.3
mapbox-earcut               1.0.1
Markdown                    3.5.1
markdown-it-py              3.0.0
MarkupSafe                  2.1.3
matplotlib                  3.8.2
matplotlib-inline           0.1.6
mdurl                       0.1.2
mediapipe                   0.10.8
mediapy                     1.1.9
mpmath                      1.3.0
msgpack                     1.0.7
multidict                   6.0.4
networkx                    3.2.1
ninja                       1.11.1.1
nodeenv                     1.8.0
numba                       0.58.1
numpy                       1.26.2
nvdiffrast                  0.3.1
oauthlib                    3.2.2
objprint                    0.2.3
omegaconf                   2.3.0
onnxruntime                 1.16.3
opencv-contrib-python       4.8.1.78
opencv-python               4.8.1.78
opencv-python-headless      4.8.1.78
orjson                      3.9.10
packaging                   23.2
pandas                      2.1.3
parso                       0.8.3
pexpect                     4.9.0
Pillow                      9.3.0
pip                         23.3.1
platformdirs                4.0.0
plyfile                     1.0.2
pooch                       1.8.0
prompt-toolkit              3.0.41
protobuf                    3.20.3
psutil                      5.9.6
ptyprocess                  0.7.0
pure-eval                   0.2.2
pyasn1                      0.5.1
pyasn1-modules              0.3.0
pycocotools                 2.0.7
pycollada                   0.7.2
pycparser                   2.21
pydantic                    2.5.2
pydantic_core               2.14.5
pydub                       0.25.1
Pygments                    2.17.2
pyliblzfse                  0.4.1
PyMatting                   1.1.11
PyMCubes                    0.1.4
pyparsing                   3.1.1
pysdf                       0.1.9
PySocks                     1.7.1
python-dateutil             2.8.2
python-multipart            0.0.6
pytorch-lightning           2.1.2
pytz                        2023.3.post1
PyYAML                      6.0.1
referencing                 0.31.0
regex                       2023.10.3
rembg                       2.0.52
requests                    2.31.0
requests-oauthlib           1.3.1
rich                        13.7.0
rpds-py                     0.13.1
rsa                         4.9
Rtree                       1.1.0
safetensors                 0.4.1
scikit-image                0.22.0
scikit-learn                1.3.2
scipy                       1.11.4
segment-anything            1.0
semantic-version            2.10.0
sentencepiece               0.1.99
sentry-sdk                  1.37.1
setproctitle                1.3.3
setuptools                  59.6.0
shapely                     2.0.2
shtab                       1.6.4
simple-knn                  0.0.0        /app/github/GaussianEditor/gaussiansplatting/submodules/simple-knn
six                         1.16.0
smmap                       5.0.1
sniffio                     1.3.0
sounddevice                 0.4.6
soupsieve                   2.5
stack-data                  0.6.3
starlette                   0.27.0
supervision                 0.6.0
svg.path                    6.3
sympy                       1.12
taming-transformers-rom1504 0.0.6
tensorboard                 2.15.1
tensorboard-data-server     0.7.2
threadpoolctl               3.2.0
tifffile                    2023.9.26
timm                        0.9.12
tinycudann                  1.7
tokenizers                  0.13.3
tomli                       2.0.1
toolz                       0.12.0
torch                       2.0.1+cu118
torch-efficient-distloss    0.1.3
torchmetrics                1.2.0
torchvision                 0.15.2+cu118
tqdm                        4.66.1
traitlets                   5.14.0
transformers                4.28.1
trimesh                     4.0.5
triton                      2.0.0
typeguard                   2.13.3
typing_extensions           4.8.0
tyro                        0.5.18
tzdata                      2023.3
urllib3                     2.1.0
uvicorn                     0.24.0.post1
varname                     0.12.1
viser                       0.1.10       /app/extern/viser
wandb                       0.16.0
wcwidth                     0.2.12
webdataset                  0.2.79
websockets                  11.0.3
Werkzeug                    3.0.1
wheel                       0.37.1
xatlas                      0.0.8
xxhash                      3.4.1
yapf                        0.40.2
yarl                        1.9.3
yourdfpy                    0.0.53
zipp                        3.17.0
liwei0705 commented 10 months ago

According to the readme file a base docker image should be like this

FROM  nvidia/cuda:11.8.0-devel-ubuntu22.04

RUN apt update && apt install -y python3 python3-pip  git ninja-build libeigen3-dev libgl1-mesa-glx  libglib2.0-0
RUN pip install --upgrade pip
RUN pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118
COPY requirements.txt /app

WORKDIR /app
ENV TCNN_CUDA_ARCHITECTURES=86
RUN pip install -r requirements.txt
RUN pip install mediapipe

WORKDIR /app/extern
RUN git clone https://github.com/heheyas/viser  && pip install -e viser
WORKDIR /app

sub modules should be installed in running container because of error that no cuda runtime during docker build.

pip install -e gaussiansplatting/submodules/diff-gaussian-rasterization pip install -e gaussiansplatting/submodules/simple-knn

buaacyw commented 10 months ago

Please check your colmap_dir This is caused by sparse is not in colmap_dir https://github.com/buaacyw/GaussianEditor/blob/f00e40d83f327797ae8238b766851732401d13cc/gaussiansplatting/scene/camera_scene.py#L26

liwei0705 commented 10 months ago

Thanks, I checked the download.sh again (I downloaded files manually before), unzip the 2 model zip files into one folder , it works.

Now struggling with the CPU only issue. It seems like a torch or driver version problem

Please check your colmap_dir This is caused by sparse is not in colmap_dir

https://github.com/buaacyw/GaussianEditor/blob/f00e40d83f327797ae8238b766851732401d13cc/gaussiansplatting/scene/camera_scene.py#L26

liwei0705 commented 10 months ago

It seems the same "CPU mode only" problem in docker: https://github.com/IDEA-Research/GroundingDINO/issues/8#issuecomment-1559541382