radekd91 / emoca

Official repository accompanying a CVPR 2022 paper EMOCA: Emotion Driven Monocular Face Capture And Animation. EMOCA takes a single image of a face as input and produces a 3D reconstruction. EMOCA sets the new standard on reconstructing highly emotional images in-the-wild
https://emoca.is.tue.mpg.de/
Other
711 stars 91 forks source link

Installation issues - package conflicts #44

Open luizgh opened 1 year ago

luizgh commented 1 year ago

Hi,

I am following the steps to install this package and run the emoca demo (test_emoca_on_images), but unfortunately I am meeting some package conflicts (resolving them creates other conflicts, and so on). I tested multiple times on a Ubuntu 20.04 machine, as well as a windows machine using WSL and Ubuntu 20.04 as well.

Starting from scratch on Ubuntu 20.04, I first ran "install_38.sh". Running demos/test_emoca_on_images.py I first meet a missing dependency:

  File ".../dev/emoca/gdl/datasets/AffectNetDataModule.py", line 28, in <module>
    import pandas as pd
ModuleNotFoundError: No module named 'pandas'

Its weird since I see this dependency on conda-environment_py38_cu11_ubuntu.yml. Looking at the installation output, mamba lists pandas as something to be installed, but it never installs it. Anyway, I manually installed it with pip install "pandas>=1.4.2"

Re-running the demo I find another issue:

  File ".../miniconda3/envs/work38/lib/python3.8/site-packages/cv2/mat_wrapper/__init__.py", line 33, in <module>
    cv._registerMatType(Mat)
AttributeError: partially initialized module 'cv2' has no attribute '_registerMatType' (most likely due to a circular import)

Again, this is strange since opencv is listed in the requirements file, one of the last things to be installed. Anyway, I re-installed it manually with pip install --ignore-installed "opencv-python~=4.5.5".

Trying again, I am hit with an potential problem with numpy x tensorboard version (looks like it's a part of the pytorch lightining installation):

 File ".../envs/work38/lib/python3.8/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py", line 569, in <module>
    (np.object, string),
  File ".../envs/work38/lib/python3.8/site-packages/numpy/__init__.py", line 305, in __getattr__
    raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'object'.
`np.object` was a deprecated alias for the builtin `object`

I tried re-installing these components, but I just kept chasing more dependency issues. I was wondering if other people had similar issues during installation, and what can I do to install it. Thanks!

trevineoorloff commented 1 year ago

Hi, I had a similar experience and finally was able to get it working using the following steps.

  1. run $bash install_38.sh with edits to requirements38.txt as below

cython~=0.29 adabound~=0.0.5 addict~=2.4.0 alabaster~=0.7.12 albumentations~=1.0.2 babel~=2.8.0 chumpy~=0.70 compress-pickle~=1.2.0 configparser~=5.0.1 deepspeech-gpu~=0.9.2 docker-pycreds~=0.4.0 docutils~=0.16 dominate~=2.6.0 easydict~=1.9 face-alignment~=1.3.3 facenet-pytorch~=2.5.1 flatbuffers~=1.12 freetype-py~=2.2.0 gdown~=3.12.2 gitdb~=4.0.5 gitpython~=3.1.11 google-pasta~=0.2.0 hydra-core~=1.0.5 imagesize~=1.2.0 imgaug~=0.4.0 importlib-resources~=5.1.0 insightface~=0.5 kaggle~=1.5.12 keras-preprocessing~=1.1.2 kornia~=0.6.1 matplotlib~=3.3.4 memory-profiler~=0.58.0 # mmcv~=1.2.2 mmcv-full~=1.5.0 munch~=2.5.0 # numpy>=1.20.3 omegaconf~=2.0.6 onnx~=1.10.2 onnxruntime-gpu~=1.9.0 # opencv-python~=4.5.1.48 opencv-python==4.5.5.62 opencv-python-headless==4.5.5.62 opt-einsum~=3.3.0 pathtools~=0.1.2 pillow~=8.1.2 prettytable~=2.4.0 protobuf~=3.14.0 psutil~=5.7.3 pyasn1-modules~=0.2.8 python-speech-features~=0.6 pyzmq~=22.0.3 scikit-sound~=0.2.3 scipy>=1.8.1 sentry-sdk~=0.19.2 # setuptools==59.5.0 shapely~=1.7.1 smmap~=3.0.4 subprocess32~=3.5.4 tb-nightly~=2.5.0a20201210 tensorboard-data-server~=0.6.1 timm~=0.4.9 torchfile>=0.1.0 torchgeometry>=0.1.2 torchmetrics==0.6.2 lightning-bolts~=0.4.0 pytorch-lightning==1.4.9 trimesh~=3.14.1 wandb~=0.10.30 watchdog~=0.10.3 wrapt~=1.12.1 youtube-dl~=2021.6.6 mediapipe==0.8.10 plotly==5.8.0 librosa==0.9.2 h5py==3.7.0 hickle==5.0.2 # pytorch3d @ git+https://github.com/facebookresearch/pytorch3d.git@v0.6.2

  1. $pip install pandas==1.4.2 numpy==1.20.3 scikit-video==1.1.11

All versions of the installed packages are listed below.

absl-py==1.4.0 adabound==0.0.5 addict==2.4.0 aiohttp==3.8.4 aiosignal==1.3.1 alabaster==0.7.13 albumentations==1.0.3 antlr4-python3-runtime==4.8 appdirs==1.4.4 async-timeout==4.0.2 attrs==23.1.0 audioread==3.0.0 Babel==2.8.1 cachetools==4.2.4 certifi==2022.12.7 cffi==1.15.1 charset-normalizer==3.1.0 chumpy==0.70 click==8.1.3 cmake==3.21.3 compress-pickle==1.2.0 configparser==5.0.2 cycler==0.11.0 Cython==0.29 decorator==5.1.1 deepspeech-gpu==0.9.3 docker-pycreds==0.4.0 docutils==0.19 dominate==2.6.0 easydict==1.10 face-alignment==1.3.5 facenet-pytorch==2.5.3 filelock==3.12.0 flatbuffers==1.12 freetype-py==2.2.0 frozenlist==1.3.3 fsspec==2023.4.0 future==0.18.3 fvcore==0.1.5.post20221221 -e git+https://github.com/radekd91/emoca.git@fef5472a2fe3c47d8c5ffa56ad13928a790df1ab#egg=GDL gdown==3.12.2 gitdb==4.0.10 GitPython==3.1.31 google-auth==1.35.0 google-auth-oauthlib==0.4.6 google-pasta==0.2.0 grpcio==1.54.0 h5py==3.7.0 hickle==5.0.2 hydra-core==1.0.7 idna==3.4 imageio==2.9.0 imagesize==1.2.0 imgaug==0.4.0 importlib-metadata==6.6.0 importlib-resources==5.1.4 insightface==0.7.3 iopath==0.1.10 Jinja2==3.1.2 joblib==1.2.0 kaggle==1.5.13 Keras-Preprocessing==1.1.2 kiwisolver==1.4.4 kornia==0.6.12 librosa==0.9.2 lightning-bolts==0.4.0 lit==16.0.2 llvmlite==0.39.1 Markdown==3.4.3 MarkupSafe==2.1.2 matplotlib==3.3.4 mediapipe==0.8.10 memory-profiler==0.58.0 mmcv-full==1.5.3 mpmath==1.3.0 multidict==6.0.4 munch==2.5.0 networkx==3.1 numba==0.56.4 numpy @ file:///home/conda/feedstock_root/build_artifacts/numpy_1649289770982/work nvidia-cublas-cu11==11.10.3.66 nvidia-cuda-cupti-cu11==11.7.101 nvidia-cuda-nvrtc-cu11==11.7.99 nvidia-cuda-runtime-cu11==11.7.99 nvidia-cudnn-cu11==8.5.0.96 nvidia-cufft-cu11==10.9.0.58 nvidia-curand-cu11==10.2.10.91 nvidia-cusolver-cu11==11.4.0.1 nvidia-cusparse-cu11==11.7.4.91 nvidia-nccl-cu11==2.14.3 nvidia-nvtx-cu11==11.7.91 oauthlib==3.2.2 omegaconf==2.0.6 onnx==1.10.2 onnxruntime-gpu==1.9.0 opencv-contrib-python==4.7.0.72 opencv-python==4.5.5.62 opencv-python-headless==4.5.5.62 opt-einsum==3.3.0 packaging==23.1 pandas==1.4.2 pathtools==0.1.2 Pillow==8.1.2 pipdeptree==2.7.0 platformdirs==3.5.0 plotly==5.8.0 pooch==1.7.0 portalocker==2.7.0 prettytable==2.4.0 promise==2.3 protobuf==3.14.0 psutil==5.7.3 pyasn1==0.4.8 pyasn1-modules==0.2.8 pycparser==2.21 pyDeprecate==0.3.1 pyparsing==3.0.9 PySocks==1.7.1 python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/python-dateutil_1626286286081/work python-slugify==8.0.1 python-speech-features==0.6 pytorch-lightning==1.4.9 pytorch3d @ git+https://github.com/facebookresearch/pytorch3d.git@2bd65027ca5c3b87b77d4f05b8eacae58d8d106f pytz @ file:///home/conda/feedstock_root/build_artifacts/pytz_1680088766131/work PyWavelets==1.4.1 PyYAML==6.0 pyzmq==22.0.3 requests==2.29.0 requests-oauthlib==1.3.1 resampy==0.4.2 rsa==4.9 scikit-image==0.19.3 scikit-learn==1.2.2 scikit-sound==0.2.11 scikit-video==1.1.11 scipy==1.10.1 sentry-sdk==0.19.5 Shapely==1.7.1 shortuuid==1.0.11 six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work smmap==3.0.5 soundfile==0.12.1 subprocess32==3.5.4 sympy==1.11.1 tabulate==0.9.0 tb-nightly==2.5.0a20210419 tenacity==8.2.2 tensorboard==2.11.2 tensorboard-data-server==0.6.1 tensorboard-plugin-wit==1.8.1 termcolor==2.3.0 text-unidecode==1.3 threadpoolctl==3.1.0 tifffile==2023.4.12 timm==0.4.12 tomli==2.0.1 torch==2.0.0 torchfile==0.1.0 torchgeometry==0.1.2 torchmetrics==0.6.2 torchvision==0.15.1 tqdm==4.65.0 trimesh==3.14.1 triton==2.0.0 typing_extensions==4.5.0 urllib3==1.26.15 wandb==0.10.33 watchdog==0.10.4 wcwidth==0.2.6 Werkzeug==2.3.3 wrapt==1.12.1 yacs==0.1.8 yapf==0.33.0 yarl==1.9.2 youtube-dl==2021.6.6 zipp==3.15.0