Git Product home page Git Product logo

Comments (17)

dendenxu avatar dendenxu commented on August 20, 2024

Hi @GuaGod , looks like the model has already been successfully loaded since the log you highlighted should be printed after model loading.
The segmentation fault is most likely OpenGL-related so I might need your assistance on checking out your environment:

  1. If on Linux, could you try running glxgears and check whether the window is displayed correctly
  2. Try running evc-gui, which should open a black window for you with some controls, and check whether that works
  3. Check OpenGl version by glxinfo -B to see if any error is shown and check PyOpenGL installation, which should be of version 3.1.7 as of today. If we're on 3.1.0, update using pip install -U pyopengl

from 4k4d.

GuaGod avatar GuaGod commented on August 20, 2024
  1. The window is displayed correctly after glxgears.
    image
  2. An error occured after evc-gui
    image
  3. image
    image

from 4k4d.

dendenxu avatar dendenxu commented on August 20, 2024

That's strange ๐Ÿ˜ถโ€๐ŸŒซ๏ธ . Your OpenGL setup looks fine.
Could you try whether the off-screen rendering works?

evc -t test -c configs/projects/realtime4dv/rendering/4k4d_sport1.yaml,configs/specs/eval.yaml

Another thing to try is to disable the compatibiliy profile window hint by commenting these two lines here:
image

from 4k4d.

YongmoonPark avatar YongmoonPark commented on August 20, 2024

Hello, and thank you for your excellent work.

In my situation, off-screen rendering works fine, but I encounter an error when attempting rendering with a GUI. I followed your suggestion to comment out two lines, but I am still experiencing issues running in GUI mode.

Here are the details of my environment:
OS: Ubuntu 22.04 LTS
GPU: NVIDIA GeForce RTX 3090
Driver Version: 545.23.08
CUDA Version: 11.8"

Package                   Version            Editable project location
------------------------- ------------------ ------------------------------------------
absl-py                   2.0.0
addict                    2.4.0
ansi2html                 1.9.1
antlr4-python3-runtime    4.9.3
anyio                     4.2.0
argon2-cffi               23.1.0
argon2-cffi-bindings      21.2.0
arrow                     1.3.0
asttokens                 2.4.1
async-lru                 2.0.4
attrs                     23.2.0
autopep8                  2.0.4
Babel                     2.14.0
beautifulsoup4            4.12.2
black                     23.12.1
bleach                    6.1.0
blessed                   1.20.0
blinker                   1.7.0
cachetools                5.3.2
calmsize                  0.1.3
certifi                   2022.12.7
cffi                      1.16.0
charset-normalizer        2.1.1
chumpy                    0.70
clang-format              17.0.6
click                     8.1.7
cloudpickle               3.0.0
cmake                     3.25.0
comm                      0.2.1
commentjson               0.9.0
ConfigArgParse            1.7
contourpy                 1.2.0
cuda-python               12.3.0
cycler                    0.12.1
dash                      2.14.2
dash-core-components      2.0.0
dash-html-components      2.0.0
dash-table                5.0.0
debugpy                   1.8.0
decorator                 5.1.1
defusedxml                0.7.1
detectron2                0.6                /media/ym/linux-data/_src/_ref/detectron2
diff-gauss                1.0.5
docstring-parser          0.15
dotmap                    1.3.30
easyvolcap                0.0.0              /media/ym/linux-data/_src/_test/EasyVolcap
einops                    0.7.0
et-xmlfile                1.1.0
exceptiongroup            1.2.0
executing                 2.0.1
fast-autocomplete         0.9.0
fastjsonschema            2.19.1
filelock                  3.9.0
Flask                     3.0.0
flatbuffers               23.5.26
fonttools                 4.47.0
fqdn                      1.5.1
func-timeout              4.3.5
fvcore                    0.1.5.post20221221
glfw                      2.6.4
google-auth               2.26.1
google-auth-oauthlib      1.2.0
gpustat                   1.2.dev19+gf4cd639
grpcio                    1.60.0
h5py                      3.10.0
human-body-prior          2.2.2.0
hydra-core                1.3.2
idna                      3.4
imageio                   2.33.1
imgui-bundle              1.2.1
importlib-metadata        7.0.1
iopath                    0.1.9
ipdb                      0.13.13
ipykernel                 6.28.0
ipython                   8.20.0
ipywidgets                8.1.1
isoduration               20.11.0
itsdangerous              2.1.2
jedi                      0.19.1
Jinja2                    3.1.2
joblib                    1.3.2
json5                     0.9.14
jsonpointer               2.4
jsonschema                4.20.0
jsonschema-specifications 2023.12.1
jupyter                   1.0.0
jupyter_client            8.6.0
jupyter-console           6.6.3
jupyter_core              5.7.1
jupyter-events            0.9.0
jupyter-lsp               2.2.1
jupyter_server            2.12.3
jupyter_server_terminals  0.5.1
jupyterlab                4.0.10
jupyterlab_pygments       0.3.0
jupyterlab_server         2.25.2
jupyterlab-widgets        3.0.9
kiwisolver                1.4.5
kornia                    0.7.1
lark-parser               0.7.8
lazy_loader               0.3
lit                       15.0.7
lpips                     0.1.4
Markdown                  3.5.2
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.9
memory-tempfile           2.2.3
mistune                   3.0.2
mpmath                    1.3.0
msgpack                   1.0.7
munch                     4.0.0
mypy-extensions           1.0.0
nbclient                  0.9.0
nbconvert                 7.14.0
nbformat                  5.9.2
nest-asyncio              1.5.8
networkx                  3.0
ninja                     1.11.1.1
notebook                  7.0.6
notebook_shim             0.2.3
numpy                     1.24.1
nvdiffrast                0.3.1              /media/ym/linux-data/_src/_ref/nvdiffrast
nvidia-ml-py              12.535.133
oauthlib                  3.2.2
omegaconf                 2.3.0
open3d                    0.18.0
opencv-contrib-python     4.9.0.80
opencv-python             4.9.0.80
openpyxl                  3.1.2
overrides                 7.4.0
packaging                 23.2
pandas                    2.1.4
pandocfilters             1.5.0
parso                     0.8.3
pathspec                  0.12.1
pdbr                      0.8.8
pexpect                   4.9.0
Pillow                    9.5.0
pip                       23.3.1
platformdirs              4.1.0
plotly                    5.18.0
plyfile                   1.0.3
portalocker               2.8.2
prometheus-client         0.19.0
prompt-toolkit            3.0.43
protobuf                  3.20.3
psutil                    5.9.7
ptyprocess                0.7.0
pure-eval                 0.2.2
pyasn1                    0.5.1
pyasn1-modules            0.3.0
pycocotools               2.0.7
pycodestyle               2.11.1
pycparser                 2.21
pyglfw                    0.2.2
PyGLM                     2.7.1
Pygments                  2.17.2
PyMCubes                  0.1.4
pymeshlab                 2023.12
pyntcloud                 0.3.1
PyOpenGL                  3.1.7
pyparsing                 3.1.1
pyperclip                 1.8.2
pyquaternion              0.9.9
python-dateutil           2.8.2
python-json-logger        2.0.7
pytorch-memlab            0.3.0
pytorch-msssim            1.0.0
pytorch3d                 0.7.5              /media/ym/linux-data/_src/_ref/pytorch3d
PyTurboJPEG               1.7.3
pytz                      2023.3.post1
PyYAML                    6.0.1
pyzmq                     25.1.2
qtconsole                 5.5.1
QtPy                      2.4.1
referencing               0.32.1
requests                  2.31.0
requests-oauthlib         1.3.1
retrying                  1.3.4
rfc3339-validator         0.1.4
rfc3986-validator         0.1.1
rich                      13.7.0
rpds-py                   0.16.2
rsa                       4.9
ruamel.yaml               0.18.5
ruamel.yaml.clib          0.2.8
scikit-image              0.22.0
scikit-learn              1.3.2
scipy                     1.11.4
Send2Trash                1.8.2
setuptools                68.2.2
shtab                     1.6.5
simple-knn                0.0.0
six                       1.16.0
smplx                     0.1.28
sniffio                   1.3.0
sounddevice               0.4.6
soupsieve                 2.5
stack-data                0.6.3
sympy                     1.12
tabulate                  0.9.0
tenacity                  8.2.3
tensorboard               2.15.1
tensorboard-data-server   0.7.2
tensorboardX              2.6.2.2
termcolor                 2.4.0
terminado                 0.18.0
threadpoolctl             3.2.0
tifffile                  2023.12.9
timg                      1.1.6
tinycss2                  1.2.1
tinycudann                1.6
tomli                     2.0.1
torch                     2.0.1+cu118
torch-scatter             2.1.2
torch-tb-profiler         0.4.3
torchaudio                2.0.2+cu118
torchdiffeq               0.2.3
torchmcubes               0.1.0
torchvision               0.15.2+cu118
tornado                   6.4
tqdm                      4.66.1
traitlets                 5.14.1
trimesh                   4.0.8
triton                    2.0.0
types-python-dateutil     2.8.19.20240106
typing_extensions         4.4.0
tyro                      0.6.3
tzdata                    2023.4
ujson                     5.9.0
uri-template              1.3.0
urllib3                   1.26.13
wcwidth                   0.2.13
webcolors                 1.13
webencodings              0.5.1
websocket-client          1.7.0
Werkzeug                  3.0.1
wheel                     0.41.2
widgetsnbextension        4.0.9
xatlas                    0.0.8
yacs                      0.1.8
yapf                      0.40.2
zipp                      3.17.0

from 4k4d.

dendenxu avatar dendenxu commented on August 20, 2024

Hi @YongmoonPark thanks for trying out our code! Does the command also throw a segmentation fault in your case?

from 4k4d.

dendenxu avatar dendenxu commented on August 20, 2024

Hey guys @GuaGod @YongmoonPark , could you try replacing the evc command with python -q -X faulthandler easyvolcap/scripts/main.py to let the program print more useful information for the segmentation fault?

For example, try running python -q -X faulthandler easyvolcap/scripts/main.py -t gui -c configs/specs/gui.yaml.

from 4k4d.

YongmoonPark avatar YongmoonPark commented on August 20, 2024

Thank you, @dendenxu, for your prompt and kind response.

In my case, off-screen rendering works fine, but when I attempt rendering with a GUI, I encounter the same error. I tried following your instructions to comment out two lines, but I'm still facing an error when running in GUI mode. Here is the error message I received:

When executing the command:
python -q -X faulthandler easyvolcap/scripts/main.py -t gui -c configs/specs/gui.yaml
I encountered the following error:

2024-01-15 09:32:27.317839 __main__ -> preflight: Starting experiment: base, command: gui main.py:80
2024-01-15 09:32:27.318702 easyvolcap.utils.console_utils -> inner: Runtime exception: 'batch_size' console_utils.py:341
AttributeError: 'batch_size'
*** 'batch_size'
> /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/utils/base_utils.py(101)__getitem__()
whole error message
(easyvolcap) ym@ym-linux:.../_test/EasyVolcap$ python -q -X faulthandler easyvolcap/scripts/main.py -t gui -c configs/specs/gui.yaml.
2024-01-15 09:32:27.317839 __main__ -> preflight: Starting experiment: base, command: gui                                                  main.py:80
2024-01-15 09:32:27.318702 easyvolcap.utils.console_utils -> inner: Runtime exception: 'batch_size'                              console_utils.py:341
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/utils/base_utils.py:99 in __getitem__                                              โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ โฑ  99 โ”‚   โ”‚   โ”‚   return dict.__getitem__(self, key)                                                                                     โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
KeyError: 'batch_size'

During handling of the above exception, another exception occurred:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/utils/console_utils.py:338 in inner                                                โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ โฑ 338 โ”‚   โ”‚   โ”‚   return func(*args, **kwargs)                                                                                           โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/engine/registry.py:56 in inner                                                     โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ โฑ  56 โ”‚   โ”‚   return call_from_cfg(func, cfg)                                                                                            โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/engine/registry.py:47 in call_from_cfg                                             โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ โฑ  47 โ”‚   return func(**call_args)                                                                                                       โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/scripts/main.py:158 in test                                                        โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ โฑ 158 โ”‚   val_dataloader: "VolumetricVideoDataloader" = DATALOADERS.build(val_dataloader_cfg)  # reuse the validataion                   โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/engine/registry.py:300 in build                                                    โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ โฑ 300 โ”‚   โ”‚   return self.build_func(*args, **kwargs, registry=self)                                                                     โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/engine/registry.py:131 in build_from_cfg                                           โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ โฑ 131 โ”‚   return call_from_cfg(obj_cls, args)                                                                                            โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/engine/registry.py:47 in call_from_cfg                                             โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ โฑ  47 โ”‚   return func(**call_args)                                                                                                       โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/dataloaders/volumetric_video_dataloader.py:93 in __init__                          โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ โฑ  93 โ”‚   โ”‚   if batch_sampler_cfg.batch_size == -1: batch_sampler_cfg.batch_size = len(dataset)                                         โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/utils/base_utils.py:101 in __getitem__                                             โ”‚
โ”‚                                                                                                                                          โ”‚
โ”‚ โฑ 101 โ”‚   โ”‚   โ”‚   raise AttributeError(e)                                                                                                โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
AttributeError: 'batch_size'
*** 'batch_size'
> /media/ym/linux-data/_src/_test/EasyVolcap/easyvolcap/utils/base_utils.py(101)__getitem__()
     99             return dict.__getitem__(self, key)
    100         except KeyError as e:
--> 101             raise AttributeError(e)
    102     # MARK: Might encounter exception in newer version of pytorch
    103     # Traceback (most recent call last):

(Pdbr) 

[1]+  Stopped                 python -q -X faulthandler easyvolcap/scripts/main.py -t gui -c configs/specs/gui.yaml.

The process stopped with the error: AttributeError: 'batch_size'.
Any guidance you could provide would be greatly appreciated.

from 4k4d.

dendenxu avatar dendenxu commented on August 20, 2024

Thanks for the feedback @YongmoonPark ! I could not reproduce the batch_size error on my end. That error usually means we are in the wrong directory or could not find the config file the user specified (yes I need to make the errors more human readable immediately :] ). Are you on the latest commit?

from 4k4d.

YongmoonPark avatar YongmoonPark commented on August 20, 2024

Thank you for your prompt response, @dendenxu . I am indeed using the latest commit. I'll take your advice and recheck everything, including reinstalling my environment, to ensure

from 4k4d.

dendenxu avatar dendenxu commented on August 20, 2024

@YongmoonPark Ah, no need for reintalling the environment. But you could try reinstalling 4K4D itself by executing pip install -e . inside the directory.

from 4k4d.

dendenxu avatar dendenxu commented on August 20, 2024

Could you check whether this file configs/specs/gui.yaml exists in your working directory?
The first line of log should be like this, where the experiment name is changed to gui instead of base:

2024-01-15 09:36:28.746102 __main__ -> preflight: Starting experiment: gui, command: gui

from 4k4d.

YongmoonPark avatar YongmoonPark commented on August 20, 2024

I have verified the location of configs/specs/gui.yaml. However, I still encounter the following error when executing:

2024-01-15 11:42:30.025936 __main__ -> preflight: Starting experiment: base, command: gui                              main.py:80
2024-01-15 11:42:30.026796 easyvolcap.utils.console_utils -> inner: Runtime exception: 'batch_size'  

It seems that the issue might be occurring because the configs/specs/gui.yaml file is not being read and executed properly.

Thank you. Your advice has been helpful in narrowing down the cause of the problem.

from 4k4d.

dendenxu avatar dendenxu commented on August 20, 2024

image
Glad to know that we're making progress. The next reasonable step seems to be putting a breakpoint here and examine the content of args.config and os.getcwd(). To add a breakpoint, simply add the line breakpoint()

from 4k4d.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.