python3跑通smpl模型_SMPL模型改用python3+numpy计算

SMPL自带的代码是用python2+chumpy,不太方便,还难理解,在github上发现了同样想改用python3+numpy计算的同道中人:

https://github.com/CalciferZh/SMPL

但要调不多不少的bug,分享给大家。

首先就是chumpy库只支持python2,从安装到运行都要改成python3的,不然就会各种报错,我就是就着报错一路改过来的:

1.安装时,因为pip版本是18,大于10,和chumpy库的setup不太一致,就会报错:

ImportError: No module named pip.req

就需要去pypi网站下载:

https://pypi.org/project/chumpy/#files

解压后,将里面的setup.py里的一句:

from pip.req import parse_requirements

改成:

from pip._internal.req import parse_requirements

然后直接用pip3用改好的文件夹安装:

sudo pip3 install /path/to/chumpy

2.chumpy库各种报错找不到各种模块:

那是因为python2和python3在自定义模块import路径写法上有区别:

假如你有一个脚本函数a.py和b.py存放在file文件夹中。当你想调用a函数时。写作:import file.a。但如果a.py需要调用b.py函数的话,在python2环境下a.py文件中直接用import b即可。但python3文件中a.py要调用b文件需要改写成import file.b。否则会出现no module named b

所以,当出现no module named ch的情况时,只需要改成

from chumpy import ch,或者import chumpy.ch as ch

3.python2和python3一些库的名字不同:

例如:no module named cPickle

pickle模块,在ython3中为import pickle,python2中为import cPickle as pickle

你可能感兴趣的:(python3跑通smpl模型)