Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error running demo.py: TypeError: 'NoneType' object is not subscriptable #33

Closed
horanyinora opened this issue Aug 12, 2021 · 1 comment

Comments

@horanyinora
Copy link

horanyinora commented Aug 12, 2021

Hello,

I am trying to run the demo file on the teaser image. I followed the instructions of #4 because I had the same error as #1. I am a bit confused about the downloads. Particularly:

  • Downloading the SMPL model from my Google Drive
  • Downloading neutral model .pkl from smplify_code_v2.zip
    I cannot seem to find smpl.zip anywhere therefore I used the .pkl file from the simply_code_v2 under data/smpl/. The code seems to run now however, even tho I get prediction results but the output of prepare_dump is None. This is my output:

WARNING: You are using a SMPL model, with only 10 shape coefficients.
WARNING: You are using a SMPL model, with only 10 shape coefficients.
unexpected key in source state_dict: fc.weight, fc.bias
missing keys in source state_dict: layer2.0.bn1.num_batches_tracked, layer2.1.bn3.num_batches_tracked, layer3.5.bn1.num_batches_tracked, layer2.3.bn3.num_batches_tracked, layer3.0.bn3.num_batches_tracked, layer3.4.bn2.num_batches_tracked, layer1.0.bn1.num_batches_tracked, layer4.1.bn2.num_batches_tracked, layer3.2.bn3.num_batches_tracked, layer4.0.bn3.num_batches_tracked, layer3.0.bn1.num_batches_tracked, layer1.1.bn3.num_batches_tracked, layer2.3.bn2.num_batches_tracked, layer1.2.bn1.num_batches_tracked, layer2.0.bn2.num_batches_tracked, layer1.2.bn2.num_batches_tracked, layer3.3.bn3.num_batches_tracked, layer2.2.bn3.num_batches_tracked, layer1.0.bn2.num_batches_tracked, layer1.0.downsample.1.num_batches_tracked, layer4.1.bn3.num_batches_tracked, layer3.1.bn3.num_batches_tracked, layer4.2.bn1.num_batches_tracked, layer3.3.bn2.num_batches_tracked, layer2.1.bn2.num_batches_tracked, layer3.2.bn2.num_batches_tracked, layer3.3.bn1.num_batches_tracked, layer4.1.bn1.num_batches_tracked, layer3.4.bn3.num_batches_tracked, layer4.2.bn2.num_batches_tracked, layer3.0.downsample.1.num_batches_tracked, layer3.5.bn3.num_batches_tracked, layer4.0.downsample.1.num_batches_tracked, layer3.2.bn1.num_batches_tracked, layer2.3.bn1.num_batches_tracked, layer1.1.bn1.num_batches_tracked, layer4.0.bn2.num_batches_tracked, layer4.2.bn3.num_batches_tracked, layer2.2.bn1.num_batches_tracked, layer3.1.bn2.num_batches_tracked, layer4.0.bn1.num_batches_tracked, layer2.0.bn3.num_batches_tracked, layer1.2.bn3.num_batches_tracked, layer3.0.bn2.num_batches_tracked, layer2.0.downsample.1.num_batches_tracked, layer2.1.bn1.num_batches_tracked, layer3.1.bn1.num_batches_tracked, layer1.0.bn3.num_batches_tracked, layer3.5.bn2.num_batches_tracked, bn1.num_batches_tracked, layer2.2.bn2.num_batches_tracked, layer3.4.bn1.num_batches_tracked, layer1.1.bn2.num_batches_tracked
2021-08-12 16:47:52,049 - INFO - load checkpoint from data/checkpoint.pt
2021-08-12 16:47:52,503 - WARNING - missing keys in source state_dict: smpl_head.loss.smpl.faces_tensor, smpl_head.loss.smpl.shapedirs, smpl_head.smpl.shapedirs, smpl_head.loss.smpl.vertex_joint_selector.extra_joints_idxs, smpl_head.smpl.posedirs, smpl_head.loss.smpl.J_regressor, smpl_head.smpl.v_template, smpl_head.smpl.faces_tensor, smpl_head.loss.smpl.v_template, smpl_head.smpl.J_regressor, smpl_head.loss.smpl.lbs_weights, smpl_head.smpl.lbs_weights, smpl_head.smpl.vertex_joint_selector.extra_joints_idxs, smpl_head.smpl.J_regressor_extra, smpl_head.smpl.parents, smpl_head.loss.smpl.J_regressor_extra, smpl_head.loss.smpl.parents, smpl_head.loss.smpl.posedirs
2021-08-12 16:47:52,535 - INFO - resumed epoch 27, iter 90901
WARNING: You are using a SMPL model, with only 10 shape coefficients.
Traceback (most recent call last):
File "/home/multiperson/mmdetection/tools/demo.py", line 190, in
main()
File "/home/multiperson/mmdetection/tools/demo.py", line 186, in main
cv2.imwrite(f'{file_name.replace(folder_name, output_folder)}.output.jpg', img_viz[:, :, ::-1])
TypeError: 'NoneType' object is not subscriptable
startswith first arg must be bytes or a tuple of bytes, not str

I commented the try-except part (demo.py line 89-94) to get a more detailed error message. The problem seems to occur in renderer.py line 88:

Traceback (most recent call last):
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/OpenGL/latebind.py", line 41, in call
return self._finalCall( *args, **named )
TypeError: 'NoneType' object is not callable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/nora/multiperson/mmdetection/tools/demo.py", line 185, in main
img_viz = prepare_dump(pred_results, img, render, bbox_results, FOCAL_LENGTH)
File "/home/nora/multiperson/mmdetection/tools/demo.py", line 90, in prepare_dump
fv_rendered = render([img_th.clone()], [pred_verts], translation=[pred_trans])[0]
File "/home/nora/multiperson/mmdetection/mmdet/models/utils/smpl/renderer.py", line 88, in call
color, rend_depth = self.renderer.render(scene, flags=pyrender.RenderFlags.RGBA)
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/pyrender/offscreen.py", line 99, in render
return self._renderer.render(scene, flags)
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/pyrender/renderer.py", line 121, in render
self._update_context(scene, flags)
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/pyrender/renderer.py", line 709, in _update_context
p._add_to_context()
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/pyrender/primitive.py", line 324, in _add_to_context
self._vaid = glGenVertexArrays(1)
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/OpenGL/latebind.py", line 45, in call
return self._finalCall( *args, **named )
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/OpenGL/wrapper.py", line 657, in wrapperCall
result = wrappedOperation( *cArguments )
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/OpenGL/platform/baseplatform.py", line 401, in call
if self.load():
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/OpenGL/platform/baseplatform.py", line 390, in load
error_checker = self.error_checker,
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/OpenGL/platform/baseplatform.py", line 148, in constructFunction
if (not is_core) and not self.checkExtension( extension ):
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/OpenGL/platform/baseplatform.py", line 270, in checkExtension
result = extensions.ExtensionQuerier.hasExtension( name )
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/OpenGL/extensions.py", line 98, in hasExtension
result = registered( specifier )
File "/home/nora/anaconda2/envs/multiperson/lib/python3.7/site-packages/OpenGL/extensions.py", line 105, in call
if not specifier.startswith( self.prefix ):
TypeError: startswith first arg must be bytes or a tuple of bytes, not str

@with-twilight
Copy link

Hi! I have the same problem. Have you solved this problem? If so, would you mind sharing the solution?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants