MVIG-SJTU / AlphaPose

Real-Time and Accurate Full-Body Multi-Person Pose Estimation&Tracking System
http://mvig.org/research/alphapose.html
Other
7.96k stars 1.97k forks source link

Failed to install on WSL2 - setuptools.sandbox.UnpickleableException #1147

Closed jamesWalker55 closed 1 year ago

jamesWalker55 commented 1 year ago

When trying to install AlphaPose on WSL, the setup fails with setuptools.sandbox.UnpickleableException: CompilerCrash(...). The following are the commands I used to install AlphaPose and their output:

conda create -n alphapose2 python=3.7 -y
conda activate alphapose2

# I am now switching to using PIP because the following commands fails:
# > conda install pytorch torchvision torchaudio pytorch-cuda=11.3 -c pytorch -c nvidia
# 
# PackagesNotFoundError: The following packages are not available from current channels:
# 
#   - pytorch-cuda=11.3

pip3 install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu113

# Installing collected packages: urllib3, typing-extensions, pillow, nvidia-cuda-runtime-cu11, nvidia-cuda-nvrtc-cu11, nvidia-cublas-cu11, numpy, idna, charset-normalizer, requests, nvidia-cudnn-cu11, torch, torchvision
# ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
# alphapose 0.5.0+94edfbe requires easydict, which is not installed.
# alphapose 0.5.0+94edfbe requires halpecocotools, which is not installed.
# alphapose 0.5.0+94edfbe requires matplotlib, which is not installed.
# alphapose 0.5.0+94edfbe requires opencv-python, which is not installed.
# alphapose 0.5.0+94edfbe requires pyyaml, which is not installed.
# alphapose 0.5.0+94edfbe requires scipy==1.1.0, which is not installed.
# alphapose 0.5.0+94edfbe requires six, which is not installed.
# alphapose 0.5.0+94edfbe requires tensorboardx, which is not installed.
# alphapose 0.5.0+94edfbe requires terminaltables, which is not installed.
# alphapose 0.5.0+94edfbe requires tqdm, which is not installed.
# alphapose 0.5.0+94edfbe requires visdom, which is not installed.
# pycocotools 2.0.6 requires matplotlib>=2.1.0, which is not installed.
# Successfully installed charset-normalizer-3.1.0 idna-3.4 numpy-1.21.6 nvidia-cublas-cu11-11.10.3.66 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-8.5.0.96 pillow-9.5.0 requests-2.31.0 torch-1.13.1 torchvision-0.14.1 typing-extensions-4.6.3 urllib3-2.0.3

git clone https://github.com/MVIG-SJTU/AlphaPose.git
cd AlphaPose

export PATH=/usr/local/cuda/bin/:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:$LD_LIBRARY_PATH

pip install cython
# Successfully installed cython-0.29.35

sudo apt-get install libyaml-dev
# libyaml-dev is already the newest version (0.2.2-1build2).

python3 setup.py build develop --user
# Compiler crash traceback from this point on:
#   File "Cython/Compiler/Visitor.py", line 180, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/ParseTreeTransforms.py", line 2239, in visit_FuncDefNode
#     node.body = node.body.analyse_expressions(node.local_scope)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 436, in analyse_expressions
#     for stat in self.stats]
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 436, in <listcomp>
#     for stat in self.stats]
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 6268, in analyse_expressions
#     self.if_clauses = [if_clause.analyse_expressions(env) for if_clause in self.if_clauses]
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 6268, in <listcomp>
#     self.if_clauses = [if_clause.analyse_expressions(env) for if_clause in self.if_clauses]
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 6334, in analyse_expressions
#     self.body = self.body.analyse_expressions(env)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 436, in analyse_expressions
#     for stat in self.stats]
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 436, in <listcomp>
#     for stat in self.stats]
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 6705, in analyse_expressions
#     self.item = self.item.coerce_to(self.target.type, env)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/ExprNodes.py", line 952, in coerce_to
#     src = PyTypeTestNode(src, dst_type, env)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/ExprNodes.py", line 13040, in __init__
#     assert dst_type.is_extension_type or dst_type.is_builtin_type, "PyTypeTest on non extension type"
# AssertionError: PyTypeTest on non extension type

# During handling of the above exception, another exception occurred:

# Traceback (most recent call last):
#   File "setup.py", line 214, in <module>
#     zip_safe=False)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/__init__.py", line 87, in setup
#     return distutils.core.setup(**attrs)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 185, in setup
#     return run_commands(dist)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
#     dist.run_commands()
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
#     self.run_command(cmd)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/dist.py", line 1208, in run_command
#     super().run_command(command)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
#     cmd_obj.run()
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/develop.py", line 34, in run
#     self.install_for_development()
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/develop.py", line 129, in install_for_development
#     self.process_distribution(None, self.dist, not self.no_deps)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/easy_install.py", line 755, in process_distribution
#     [requirement], self.local_index, self.easy_install
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/pkg_resources/__init__.py", line 791, in resolve
#     replace_conflicting=replace_conflicting
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1075, in best_match
#     return self.obtain(req, installer)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1087, in obtain
#     return installer(requirement)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/easy_install.py", line 681, in easy_install
#     return self.install_item(spec, dist.location, tmpdir, deps)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/easy_install.py", line 707, in install_item
#     dists = self.install_eggs(spec, download, tmpdir)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/easy_install.py", line 900, in install_eggs
#     return self.build_and_install(setup_script, setup_base)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/easy_install.py", line 1174, in build_and_install
#     self.run_setup(setup_script, setup_base, args)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/easy_install.py", line 1158, in run_setup
#     run_setup(setup_script, args)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/sandbox.py", line 262, in run_setup
#     raise
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/contextlib.py", line 130, in __exit__
#     self.gen.throw(type, value, traceback)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/sandbox.py", line 198, in setup_context
#     yield
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/contextlib.py", line 130, in __exit__
#     self.gen.throw(type, value, traceback)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/sandbox.py", line 169, in save_modules
#     saved_exc.resume()
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/sandbox.py", line 143, in resume
#     raise exc.with_traceback(self._tb)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/sandbox.py", line 156, in save_modules
#     yield saved
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/sandbox.py", line 198, in setup_context
#     yield
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/sandbox.py", line 259, in run_setup
#     _execfile(setup_script, ns)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/sandbox.py", line 46, in _execfile
#     exec(code, globals, locals)
#   File "/tmp/easy_install-3ujz34bf/halpecocotools-0.0.0/setup.py", line 28, in <module>
#     def _minimal_ext_cmd(cmd):
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/__init__.py", line 87, in setup
#     return distutils.core.setup(**attrs)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 185, in setup
#     return run_commands(dist)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
#     dist.run_commands()
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
#     self.run_command(cmd)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/dist.py", line 1208, in run_command
#     super().run_command(command)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
#     cmd_obj.run()
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 165, in run
#     cmd = self.call_command('install_lib', warn_dir=0)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 151, in call_command
#     self.run_command(cmdname)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
#     self.distribution.run_command(command)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/dist.py", line 1208, in run_command
#     super().run_command(command)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
#     cmd_obj.run()
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/install_lib.py", line 11, in run
#     self.build()
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/command/install_lib.py", line 112, in build
#     self.run_command('build_ext')
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
#     self.distribution.run_command(command)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/dist.py", line 1208, in run_command
#     super().run_command(command)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
#     cmd_obj.run()
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 84, in run
#     _build_ext.run(self)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
#     _build_ext.build_ext.run(self)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py", line 346, in run
#     self.build_extensions()
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 193, in build_extensions
#     ext.sources = self.cython_sources(ext.sources, ext)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 347, in cython_sources
#     full_module_name=module_name)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Main.py", line 786, in compile
#     return compile_single(source, options, full_module_name)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Main.py", line 731, in compile_single
#     return run_pipeline(source, options, full_module_name)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Main.py", line 515, in run_pipeline
#     err, enddata = Pipeline.run_pipeline(pipeline, source)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Pipeline.py", line 355, in run_pipeline
#     data = run(phase, data)
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Pipeline.py", line 335, in run
#     return phase(data)
#   File "Cython/Compiler/Visitor.py", line 302, in Cython.Compiler.Visitor.CythonTransform.__call__
#   File "Cython/Compiler/Visitor.py", line 284, in Cython.Compiler.Visitor.VisitorTransform.__call__
#   File "Cython/Compiler/Visitor.py", line 182, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "Cython/Compiler/Visitor.py", line 180, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/ParseTreeTransforms.py", line 2234, in visit_ModuleNode
#     self.visitchildren(node)
#   File "Cython/Compiler/Visitor.py", line 247, in Cython.Compiler.Visitor.VisitorTransform.visitchildren
#   File "Cython/Compiler/Visitor.py", line 251, in Cython.Compiler.Visitor.VisitorTransform.visitchildren
#   File "Cython/Compiler/Visitor.py", line 260, in Cython.Compiler.Visitor.VisitorTransform._process_children
#   File "Cython/Compiler/Visitor.py", line 221, in Cython.Compiler.Visitor.TreeVisitor._visitchildren
#   File "Cython/Compiler/Visitor.py", line 193, in Cython.Compiler.Visitor.TreeVisitor._visitchild
#   File "Cython/Compiler/Visitor.py", line 182, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "Cython/Compiler/Visitor.py", line 180, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "Cython/Compiler/Visitor.py", line 312, in Cython.Compiler.Visitor.CythonTransform.visit_Node
#   File "Cython/Compiler/Visitor.py", line 260, in Cython.Compiler.Visitor.VisitorTransform._process_children
#   File "Cython/Compiler/Visitor.py", line 219, in Cython.Compiler.Visitor.TreeVisitor._visitchildren
#   File "Cython/Compiler/Visitor.py", line 193, in Cython.Compiler.Visitor.TreeVisitor._visitchild
#   File "Cython/Compiler/Visitor.py", line 182, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "Cython/Compiler/Visitor.py", line 180, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "Cython/Compiler/Visitor.py", line 312, in Cython.Compiler.Visitor.CythonTransform.visit_Node
#   File "Cython/Compiler/Visitor.py", line 260, in Cython.Compiler.Visitor.VisitorTransform._process_children
#   File "Cython/Compiler/Visitor.py", line 219, in Cython.Compiler.Visitor.TreeVisitor._visitchildren
#   File "Cython/Compiler/Visitor.py", line 193, in Cython.Compiler.Visitor.TreeVisitor._visitchild
#   File "Cython/Compiler/Visitor.py", line 182, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "Cython/Compiler/Visitor.py", line 180, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "Cython/Compiler/Visitor.py", line 312, in Cython.Compiler.Visitor.CythonTransform.visit_Node
#   File "Cython/Compiler/Visitor.py", line 260, in Cython.Compiler.Visitor.VisitorTransform._process_children
#   File "Cython/Compiler/Visitor.py", line 221, in Cython.Compiler.Visitor.TreeVisitor._visitchildren
#   File "Cython/Compiler/Visitor.py", line 193, in Cython.Compiler.Visitor.TreeVisitor._visitchild
#   File "Cython/Compiler/Visitor.py", line 182, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "Cython/Compiler/Visitor.py", line 180, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "Cython/Compiler/Visitor.py", line 312, in Cython.Compiler.Visitor.CythonTransform.visit_Node
#   File "Cython/Compiler/Visitor.py", line 260, in Cython.Compiler.Visitor.VisitorTransform._process_children
#   File "Cython/Compiler/Visitor.py", line 219, in Cython.Compiler.Visitor.TreeVisitor._visitchildren
#   File "Cython/Compiler/Visitor.py", line 193, in Cython.Compiler.Visitor.TreeVisitor._visitchild
#   File "Cython/Compiler/Visitor.py", line 188, in Cython.Compiler.Visitor.TreeVisitor._visit
#   File "Cython/Compiler/Visitor.py", line 148, in Cython.Compiler.Visitor.TreeVisitor._raise_compiler_error
# setuptools.sandbox.UnpickleableException: CompilerCrash((<FileSourceDescriptor:/tmp/easy_install-3ujz34bf/halpecocotools-0.0.0/halpecocotools/_mask.pyx>, 65, 4), 'AnalyseExpressionsTransform', 'Compiler crash in AnalyseExpressionsTransform\n\nModuleNode.body = StatListNode(_mask.pyx:11:0)\nStatListNode.stats[9] = StatListNode(_mask.pyx:56:5)\nStatListNode.stats[0] = CClassDefNode(_mask.pyx:56:5,\n    as_name = \'RLEs\',\n    class_name = \'RLEs\',\n    module_name = \'\',\n    visibility = \'private\')\nCClassDefNode.body = StatListNode(_mask.pyx:57:4)\nStatListNode.stats[1] = DefNode(_mask.pyx:65:4,\n    modifiers = [...]/0,\n    name = \'__dealloc__\',\n    np_args_idx = [...]/0,\n    num_required_args = 1,\n    outer_attrs = [...]/2,\n    py_wrapper_required = True,\n    reqd_kw_flags_cname = \'0\',\n    used = True)\n\nCompiler crash traceback from this point on:\n  File "Cython/Compiler/Visitor.py", line 180, in Cython.Compiler.Visitor.TreeVisitor._visit\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/ParseTreeTransforms.py", line 2239, in visit_FuncDefNode\n    node.body = node.body.analyse_expressions(node.local_scope)\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 436, in analyse_expressions\n    for stat in self.stats]\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 436, in <listcomp>\n    for stat in self.stats]\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 6268, in analyse_expressions\n    self.if_clauses = [if_clause.analyse_expressions(env) for if_clause in self.if_clauses]\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 6268, in <listcomp>\n    self.if_clauses = [if_clause.analyse_expressions(env) for if_clause in self.if_clauses]\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 6334, in analyse_expressions\n    self.body = self.body.analyse_expressions(env)\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 436, in analyse_expressions\n    for stat in self.stats]\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 436, in <listcomp>\n    for stat in self.stats]\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 6705, in analyse_expressions\n    self.item = self.item.coerce_to(self.target.type, env)\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/ExprNodes.py", line 952, in coerce_to\n    src = PyTypeTestNode(src, dst_type, env)\n  File "/home/james/miniconda3/envs/alphapose2/lib/python3.7/site-packages/Cython/Compiler/ExprNodes.py", line 13040, in __init__\n    assert dst_type.is_extension_type or dst_type.is_builtin_type, "PyTypeTest on non extension type"\nAssertionError: PyTypeTest on non extension type', AssertionError('PyTypeTest on non extension type'), <traceback object at 0x7ff821a660f0>)

The full output of the setup is too long, so I've attached it here: Full setup output here

jamesWalker55 commented 1 year ago

The error occurs when installing halpecocotools, so I installed it manually with pip:

pip install halpecocotools

When I re-ran setup, SciPy now complained that the minimum supported version is Python 3.9, so I re-installed it with pip:

pip install scipy

Now running setup.py doesn't give any errors and installs successfully.

HenrySomeCode commented 12 months ago

The error occurs when installing halpecocotools, so I installed it manually with pip:

pip install halpecocotools

When I re-ran setup, SciPy now complained that the minimum supported version is Python 3.9, so I re-installed it with pip:

pip install scipy

Now running setup.py doesn't give any errors and installs successfully.

I cannot install the 'halpecocotools' by using the command 'pip install halpecocotools'. For that reason, I downgrade my cython version to 0.29.36 follow this. But when I ran the setup.py again I met this error:

OSError: /home/anhay20171/anaconda3/envs/alphapose_0/lib/python3.7/site-packages/torch/lib/../../nvidia/cublas/lib/libcublas.so.11: undefined symbol: cublasLtGetStatusString, version libcublasLt.so.11

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "setup.py", line 9, in <module>
    from torch.utils.cpp_extension import BuildExtension, CUDAExtension
  File "/home/anhay20171/anaconda3/envs/alphapose_0/lib/python3.7/site-packages/torch/__init__.py", line 217, in <module>
    _load_global_deps()
  File "/home/anhay20171/anaconda3/envs/alphapose_0/lib/python3.7/site-packages/torch/__init__.py", line 178, in _load_global_deps
    _preload_cuda_deps()
  File "/home/anhay20171/anaconda3/envs/alphapose_0/lib/python3.7/site-packages/torch/__init__.py", line 158, in _preload_cuda_deps
    ctypes.CDLL(cublas_path)
  File "/home/anhay20171/anaconda3/envs/alphapose_0/lib/python3.7/ctypes/__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /home/anhay20171/anaconda3/envs/alphapose_0/lib/python3.7/site-packages/nvidia/cublas/lib/libcublas.so.11: undefined symbol: cublasLtGetStatusString, version libcublasLt.so.11

I solved the above error by running the below command follow this: https://github.com/hpcaitech/ColossalAI/issues/2901:

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch 

But when I run the command pip install git+ssh://git@github.com/facebookresearch/pytorch3d.git@stable, I met this error

Collecting git+ssh://****@github.com/facebookresearch/pytorch3d.git@stable
  Cloning ssh://****@github.com/facebookresearch/pytorch3d.git (to revision stable) to /tmp/pip-req-build-ubm5dza1
  Running command git clone --filter=blob:none --quiet 'ssh://****@github.com/facebookresearch/pytorch3d.git' /tmp/pip-req-build-ubm5dza1
  git@github.com: Permission denied (publickey).
  fatal: Could not read from remote repository.

  Please make sure you have the correct access rights
  and the repository exists.
  error: subprocess-exited-with-error

  × git clone --filter=blob:none --quiet 'ssh://****@github.com/facebookresearch/pytorch3d.git' /tmp/pip-req-build-ubm5dza1 did not run successfully.
  │ exit code: 128
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet 'ssh://****@github.com/facebookresearch/pytorch3d.git' /tmp/pip-req-build-ubm5dza1 did not run successfully.
│ exit code: 128
╰─> See above for output.

For that reason I switch the above command into the one with https instead of ssh as below and it solved the problem:

 pip install git+https://git@github.com/facebookresearch/pytorch3d.git@stable

When I ran the inference command for image:

python scripts/demo_inference.py --cfg configs/halpe_26/resnet/256x192_res50_lr1e-3_1x.yaml --checkpoint pretrained_models/halpe26_fast_res50_256x192.pth --indir examples/demo_0 --save_img

I get the error said something like this:

global /io/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp (2927) open Could not find encoder for codec_id=27, error: Encoder not found

global /io/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp (3002) open VIDEOIO/FFMPEG: Failed to initialize VideoWriter

For that reason, I rewrite this line (31) from Alphapose/alphapose/utils/detector.py:

self.fourcc = int(stream.get(cv2.CAP_PROP_FOURCC))

to this:

self.fourcc = cv2.VideoWriter_fourcc(*"mp4v")

it took 43s for one picture: image_2023_10_06T07_25_42_452Z

But when I ran the inference command for video:

./scripts/inference.sh configs/halpe_26/resnet/256x192_res50_lr1e-3_1x.yaml pretrained_models/halpe26_fast_res50_256x192.pth tada2.mp4

It gets stuck at 5/605 frame as below, and I don't understand why: Screenshot 2023-10-06 165907