shunsukesaito / PIFu

This repository contains the code for the paper "PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization"
https://shunsukesaito.github.io/PIFu/
Other
1.76k stars 341 forks source link

Data Generation results #27

Open cathylacus opened 4 years ago

cathylacus commented 4 years ago
 I can't run the second step in Data Generation (2.run the following script. Under the specified data path, the code creates folders named GEO, RENDER, MASK, PARAM, UV_RENDER, UV_MASK, UV_NORMAL, and UV_POS. Note that you may need to list validation subjects to exclude from training in {path_to_training_data}/val.txt (this tutorial has only one subject and leave it empty).If you wish to render images with headless servers equipped with NVIDIA GPU, add -e to enable EGL rendering.) 
  Can I get the results,like a zip file?
shunsukesaito commented 4 years ago

Can you elaborate? What are the errors? Also please provide your environment (os, GPU type etc).

shunsukesaito commented 4 years ago

Can I get the results,like a zip file?

"the code creates folders named GEO, RENDER, MASK, PARAM, UV_RENDER, UV_MASK, UV_NORMAL, and UV_POS". Under each folder, image and npy files are generated, not as a zip file.

cathylacus commented 4 years ago

Can I get the results,like a zip file?

"the code creates folders named GEO, RENDER, MASK, PARAM, UV_RENDER, UV_MASK, UV_NORMAL, and UV_POS". Under each folder, image and npy files are generated, not as a zip file.

my error is “freeglut (foo): failed to open display ''” My environment is a command Linux, a server without a graphical interface, so I can't generate training sets?

shunsukesaito commented 4 years ago

Does your server have NVIDIA GPU? If so, run the commend with -e option. Also make sure you update nvidia driver to use eGPU option.

cathylacus commented 4 years ago

Does your server have NVIDIA GPU? If so, run the commend with -e option. Also make sure you update nvidia driver to use eGPU option.

Yes,I have NVIDIA GTX 2080ti,I try it,Thanks!

cathylacus commented 4 years ago

Also make sure you update nvidia driver to use eGPU option.

How do I make sure my nvidia driver to use eGPU option.Thanks!

shunsukesaito commented 4 years ago

You need to install EGL related packages by running the following command (assuming you use ubuntu) apt install libgl1-mesa-dri libegl1-mesa libgbm1 Otherwise, you don't need to switch by yourself. My code should automatically switch to eGPU and render images for you.

cathylacus commented 4 years ago

You need to install EGL related packages by running the following command (assuming you use ubuntu) apt install libgl1-mesa-dri libegl1-mesa libgbm1 Otherwise, you don't need to switch by yourself. My code should automatically switch to eGPU and render images for you.

Thanks!

cathylacus commented 4 years ago

You need to install EGL related packages by running the following command (assuming you use ubuntu) apt install libgl1-mesa-dri libegl1-mesa libgbm1 Otherwise, you don't need to switch by yourself. My code should automatically switch to eGPU and render images for you.

Now,New error is “OpenGL.raw.EGL._errors.EGLError: EGLError”

cathylacus commented 4 years ago

You need to install EGL related packages by running the following command (assuming you use ubuntu) apt install libgl1-mesa-dri libegl1-mesa libgbm1 Otherwise, you don't need to switch by yourself. My code should automatically switch to eGPU and render images for you.

error: Traceback (most recent call last): File "/root/anaconda3/envs/PIFu/lib/python3.6/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/root/anaconda3/envs/PIFu/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/test/liwei/PIFu-master/PIFu-master/apps/render_data.py", line 282, in initialize_GL_context(width=args.size, height=args.size, egl=args.egl) File "/test/liwei/PIFu-master/PIFu-master/lib/renderer/gl/init_gl.py", line 23, in initialize_GL_context create_opengl_context((width, height)) File "/test/liwei/PIFu-master/PIFu-master/lib/renderer/gl/glcontext.py", line 91, in create_opengl_context egl.eglInitialize(egl_display, pointer(major), pointer(minor)) File "/root/anaconda3/envs/PIFu/lib/python3.6/site-packages/OpenGL/platform/baseplatform.py", line 415, in call return self( *args, **named ) File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError OpenGL.raw.EGL._errors.EGLError: EGLError( err = EGL_NOT_INITIALIZED, baseOperation = eglInitialize, cArguments = ( <OpenGL._opaque.EGLDisplay_pointer object at 0x7efff1427598>, <OpenGL.raw.EGL._types.LP_c_int object at 0x7effef42e620>, <OpenGL.raw.EGL._types.LP_c_int object at 0x7effef42e510>, ), result = 0 )

shunsukesaito commented 4 years ago

Can you run the example in the following repository without any issue? If not, you may as well get help from egl community. https://github.com/eduble/gl

cathylacus commented 4 years ago

Can you run the example in the following repository without any issue? If not, you may as well get help from egl community. https://github.com/eduble/gl

I found my NVIDIA driver is 435.21,and “Warning: I found that outdated NVIDIA drivers may cause errors with EGL. If you want to try out the EGL version, please update your NVIDIA driver to the latest!!”,so is my driver not new enough?

shunsukesaito commented 4 years ago

Probably your driver is new enough. Can you run nvidia-smi from the command line and see this driver version? If you use VM, GPUs might not be visible from client side. Also did you get the same error when you run the code in the repository above?

cathylacus commented 4 years ago

Probably your driver is new enough. Can you run nvidia-smi from the command line and see this driver version? If you use VM, GPUs might not be visible from client side. Also did you get the same error when you run the code in the repository above?

I can use nvidia-smi and see this driver version,I run the egl example,and the error is: 1

cathylacus commented 4 years ago

Probably your driver is new enough. Can you run nvidia-smi from the command line and see this driver version? If you use VM, GPUs might not be visible from client side. Also did you get the same error when you run the code in the repository above?

I run the generate folders is also the error.o(╥﹏╥)o

wangfudong commented 3 years ago

my error is “freeglut (foo): failed to open display ''” My environment is a command Linux, a server without a graphical interface, so I can't generate training sets?

You have a server without a graphical interface, so I guess you can not directly run the second script of data generation. You can, 1) use a server with graphical interface; 2) rewrite the data generation code such that it runs without graphics display; 3) if your server suports or is allowed to use SSH X11 Forwarding, you can modify the SSH settings and use some tools like MobaxTerm to run the data-generation code.

cathylacus commented 3 years ago

my error is “freeglut (foo): failed to open display ''” My environment is a command Linux, a server without a graphical interface, so I can't generate training sets?

You have a server without a graphical interface, so I guess you can not directly run the second script of data generation. You can, 1) use a server with graphical interface; 2) rewrite the data generation code such that it runs without graphics display; 3) if your server suports or is allowed to use SSH X11 Forwarding, you can modify the SSH settings and use some tools like MobaxTerm to run the data-generation code.

Thank for your reporting!

adelekuzmiakova commented 3 years ago

my error is “freeglut (foo): failed to open display ''” My environment is a command Linux, a server without a graphical interface, so I can't generate training sets?

Hi @cathylacus,

I'm just curious as to whether you were able to get the apps.render_data.py code running on your Linux server? I was running the same code on an AWS Linux instance which also does not have a graphical interface. Make sure you use -e argument:

python -m apps.render_data -i [path-to-obj-file] -o [dir-to-save] -e

Otherwise you can enable X11 forwarding from you Linux server; here's an example on how to do it. Hope this helps :)

cathylacus commented 3 years ago

my error is “freeglut (foo): failed to open display ''” My environment is a command Linux, a server without a graphical interface, so I can't generate training sets?

Hi @cathylacus,

I'm just curious as to whether you were able to get the apps.render_data.py code running on your Linux server? I was running the same code on an AWS Linux instance which also does not have a graphical interface. Make sure you use -e argument:

python -m apps.render_data -i [path-to-obj-file] -o [dir-to-save] -e

Otherwise you can enable X11 forwarding from you Linux server; here's an example on how to do it. Hope this helps :)

Sorry,I already gave up this code.

cathylacus commented 3 years ago

my error is “freeglut (foo): failed to open display ''” My environment is a command Linux, a server without a graphical interface, so I can't generate training sets?

Hi @cathylacus,

I'm just curious as to whether you were able to get the apps.render_data.py code running on your Linux server? I was running the same code on an AWS Linux instance which also does not have a graphical interface. Make sure you use -e argument:

python -m apps.render_data -i [path-to-obj-file] -o [dir-to-save] -e

Otherwise you can enable X11 forwarding from you Linux server; here's an example on how to do it. Hope this helps :)

You should try the code on an AWS Linux,I just have Command interface,So I give up the code.

Uuiiii commented 2 years ago

python -m apps.prt_util -i {path_to_rp_dennis_posed_004_OBJ} When I run this code, I get the following error: 1646787121(1) @shunsukesaito

Yuhuoo commented 2 years ago

egl community

I also want to know the answer fixing the bug

BhaumikThakkar commented 1 year ago

You need to install EGL related packages by running the following command (assuming you use ubuntu) apt install libgl1-mesa-dri libegl1-mesa libgbm1 Otherwise, you don't need to switch by yourself. My code should automatically switch to eGPU and render images for you.

error: Traceback (most recent call last): File "/root/anaconda3/envs/PIFu/lib/python3.6/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/root/anaconda3/envs/PIFu/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/test/liwei/PIFu-master/PIFu-master/apps/render_data.py", line 282, in initialize_GL_context(width=args.size, height=args.size, egl=args.egl) File "/test/liwei/PIFu-master/PIFu-master/lib/renderer/gl/init_gl.py", line 23, in initialize_GL_context create_opengl_context((width, height)) File "/test/liwei/PIFu-master/PIFu-master/lib/renderer/gl/glcontext.py", line 91, in create_opengl_context egl.eglInitialize(egl_display, pointer(major), pointer(minor)) File "/root/anaconda3/envs/PIFu/lib/python3.6/site-packages/OpenGL/platform/baseplatform.py", line 415, in call return self( *args, **named ) File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError OpenGL.raw.EGL._errors.EGLError: EGLError( err = EGL_NOT_INITIALIZED, baseOperation = eglInitialize, cArguments = ( <OpenGL._opaque.EGLDisplay_pointer object at 0x7efff1427598>, <OpenGL.raw.EGL._types.LP_c_int object at 0x7effef42e620>, <OpenGL.raw.EGL._types.LP_c_int object at 0x7effef42e510>, ), result = 0 )

export MESA_GL_VERSION_OVERRIDE=3.3