2.项目运行
3.Candidate Poses Generation
生成pose,项目提供4种方式。在AvatarCLIP/AvatarAnimate下运行下面命令,使用4种不同的方法生成不同的动作,例如argue,run等,输出npy文件。
python main.py --conf confs/pose_ablation/pose_optimizer/argue.conf
python main.py --conf confs/pose_ablation/vposer_optimizer/pray.conf
python main.py --conf confs/pose_ablation/vposer_realnvp/shoot_basketball.conf
python main.py --conf confs/pose_ablation/vposer_codebook/run.conf
ps:
有以下错误,无法解决。解决方式:修改源码,指定使用osmesa。即使前面在代码中使用os加了但仍会使用egl库,使用egl库就会需要显示器
Traceback (most recent call last):
File "main.py", line 12, in <module>
from visualize import render_pose, render_motion
File "/home/AvatarCLIP/AvatarAnimate/visualize.py", line 79, in <module>
render = Renderer()
File "/home/AvatarCLIP/AvatarAnimate/visualize.py", line 24, in __init__
point_size=1.0)
File "/root/anaconda3/envs/ACLIP/lib/python3.7/site-packages/pyrender/offscreen.py", line 31, in __init__
self._create()
File "/root/anaconda3/envs/ACLIP/lib/python3.7/site-packages/pyrender/offscreen.py", line 137, in _create
egl_device = egl.get_device_by_index(device_id)
File "/root/anaconda3/envs/ACLIP/lib/python3.7/site-packages/pyrender/platforms/egl.py", line 83, in get_device_by_index
raise ValueError('Invalid device ID ({})'.format(device_id, len(devices)))
ValueError: Invalid device ID (0)
下面需要错误,需要使用修改文件,以及添加变量解决,但生成pose的前两种方式依然运行不了。GL库问题
MESA_GL_VERSION_OVERRIDE=4.1 python main.py --conf confs/motion_ablation/interpolation/argue.conf
OpenGL.error.GLError: GLError(
err = 12297,
baseOperation = eglCreateContext,
cArguments = (
<OpenGL._opaque.EGLDisplay_pointer object at 0x7f55fb352d40>,
<OpenGL._opaque.EGLConfig_pointer object at 0x7f55fb352dd0>,
<OpenGL._opaque.EGLContext_pointer object at 0x7f55fb5ac950>,
<OpenGL.arrays.lists.c_int_Array_7 object at 0x7f5662d83290>,
),
result = <OpenGL._opaque.EGLContext_pointer object at 0x7f55fb35a5f0>
)