[python] SMPLify 깃허브 코드 실행 전 환경 설정
SMPLify GIT 코드 실행 전 환경 설정
기존 simplify python2 버전을 python3 버전으로 바꾼 smplify_python3 git code 실행을 위한 환경 세팅 진행하겠습니다.1. 필요 패키지 설치
anaconda
가상 환경을 위한 anaconda 설치는 이전에 포스팅한 여기 참고그래픽 및 OpenGL
그래픽 및 OpenGL 실행 관련 환경 설치sudo apt update
sudo apt-get install -y \
libgl1-mesa-dev \
libgl1-mesa-glx \
libglew-dev \
libosmesa6-dev \
software-properties-common
2. 코드 관련 환경 설정
git 코드 clone 진행git clone https://github.com/dongle94/smplify_python3.git
cd smplify_python3
가상 환경 생성
conda create -n smpl python==3.8.20
conda activate smpl
pip install -r ./requirements.txt
3. Opendr 설치
python3 버전을 위한 Opendr 설치pip download --no-deps opendr==0.78
tar zxvf opendr-0.78.tar.gz
cd opendr-0.78
sed -i 's/from _constants import/from opendr.contexts._constants import/g' ./opendr/contexts/ctx_base.pyx
python setup.py install
설치 완료 화면
4. 버전 호환
GLIBCXX_X.X.XX not found
gcc compiler 활용 시, glibc 버전이 맞지 않음(여기선 GLIBCXX_3.4.30 버전)conda install -c conda-forge gcc=12.1.0
chumpy
기존에 설치한 chumpy는 버전 문제로 인해 numpy 관련 ImportError가 발생TypeError: 'numpy.float64' object cannot be interpreted as an integer 또는
ImportError: cannot import name 'bool' from 'numpy' 등
해당 에러를 고치기 위해 아래 chumpy 재설치 진행
pip install git+https://github.com/mattloper/chumpy
5. 데이터 준비
git 코드에 LSP dataset 이미지는 이미 업로드 되어 있습니다.다만, Deepcut detected joints 데이터가 필요하기 때문에, SMPLify 사이트에서 데이터를 다운받습니다.
데이터 다운을 위해 계정 생 진행 후, 로그인
우상단에 있는 "Downloads" 클릭 후 "LSP-results - LSP_RESULTS.TAR.GZ" 다운
다운받은 파일 압축 해제 후 아래 경로로 이동(경로를 다르게 설정할거면 다른 경로로 설정해도 상관 없음)
lsp_results/results/lsp -> smplify_python3/results/lsp 경로로 이동
6. 실행
code/fit_3d.py의 main 함수에서 base_dir 경로를 본인의 smplify_python3 경로로 변경(586번 라인)변경 전
변경 후
마지막으로 code/fit_3d.py를 실행 시, TypeError: 'numpy.float64' object cannot be interpreted as an integer 발생
float형을 int로 사용할 수 없다는 에러로서, 본인 anaconda env 경로/scipy/sparse/_coo.py 파일의 150번, 151번 라인 수정
# /root/anaconda3/envs/smpl/lib/python3.8/site-packages/scipy/sparse/_coo.py
# 위 경로 참고하여 본인 경로 _coo.py 수정
np.max(row) -> int(np.max(row))
np.max(col) -> int(np.max(col))
변경 후
이후 아래 코드를 실행하면 정상 동작함을 확인할 수 있습니다.
python3 code/fit_3d.py
참고 문헌
[1] | https://dongle94.github.io/paper/smplify/#google_vignette |
[2] | https://github.com/dongle94/smplify_python3 |
[3] | https://github.com/openai/mujoco-py/issues/690 |
[4] | https://github.com/mattloper/chumpy/issues/55 |
[5] | https://velog.io/@zxxzx1515/%EC%98%A4%EB%A5%98-%EB%85%B8%ED%8A%B8-libstdc.so.6-version-glibcxx3.4.30-not-found |
댓글
댓글 쓰기