facebookresearch / pytorch3d

PyTorch3D is FAIR's library of reusable components for deep learning with 3D data
https://pytorch3d.org/
Other
8.7k stars 1.3k forks source link

Can't install Pytorch3D #1857

Closed nairouzshehata closed 1 month ago

nairouzshehata commented 1 month ago

To reproduce:

conda create -n pytorch3d_env python=3.9
conda activate pytorch3d_env

From here I got the below: conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=11.8 -c pytorch -c nvidia

conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install -c bottler nvidiacub

Then I did source /path/to/cuda11.8.0/setup.sh then to double check nvcc --version Got the below:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

Then I did:

export CUDA_HOME=/path/to/cuda11.8.0/
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

Only then I attempted installing pytorch3d: pip install "git+https://github.com/facebookresearch/pytorch3d.git"

Sadly the error I'm getting:

 Error limit reached.
      100 errors detected in the compilation of "/tmp/pip-req-build-c9t_rkxj/pytorch3d/csrc/pulsar/cuda/renderer.backward.gpu.cu".
      Compilation terminated.
      error: command '/vol/cuda/11.8.0/bin/nvcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pytorch3d
  Running setup.py clean for pytorch3d
Failed to build pytorch3d
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pytorch3d)
nairouzshehata commented 1 month ago

conda install pytorch3d -c pytorch3d seems to work instead


 - feature:/linux-64::__cuda==12.2=0
  - feature:/linux-64::__glibc==2.31=0
  - feature:/linux-64::__linux==5.15.0=0
  - feature:|@/linux-64::__cuda==12.2=0
  - feature:|@/linux-64::__glibc==2.31=0
  - feature:|@/linux-64::__linux==5.15.0=0
  - argon2-cffi -> libgcc-ng[version='>=7.5.0'] -> __glibc[version='>=2.17']
  - argon2-cffi-bindings -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - brotli-python -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - bzip2 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - cffi -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - cuda-cudart -> __glibc[version='>=2.17,<3.0.a0']
  - cuda-cudart -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - cuda-cupti -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - cuda-libraries -> cuda-cudart=12.4.127 -> __glibc[version='>=2.17,<3.0.a0']
  - cuda-nvrtc -> __glibc[version='>=2.17,<3.0.a0']
  - cuda-nvrtc -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - cuda-nvtx -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - cuda-runtime -> __linux
  - cuda-runtime -> __win
  - cyrus-sasl -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - dbus -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
  - debugpy -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - expat -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - ffmpeg -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - fontconfig -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - freetype -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - glib -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - glib-tools -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - gmp -> libgcc-ng[version='>=7.5.0'] -> __glibc[version='>=2.17']
  - gmpy2 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - gnutls -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
  - gst-plugins-base -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - gstreamer -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - icu -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - intel-openmp -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - jpeg -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - krb5 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - lame -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
  - lcms2 -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
  - lerc -> libgcc-ng[version='>=7.5.0'] -> __glibc[version='>=2.17']
  - libclang -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libclang13 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libcublas -> __glibc[version='>=2.17,<3.0.a0']
  - libcublas -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libcufft -> __glibc[version='>=2.17,<3.0.a0']
  - libcufft -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libcufile -> __glibc[version='>=2.17,<3.0.a0']
  - libcufile -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libcups -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libcurand -> __glibc[version='>=2.17,<3.0.a0']
  - libcurand -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libcusolver -> __glibc[version='>=2.17,<3.0.a0']
  - libcusolver -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libcusparse -> __glibc[version='>=2.17,<3.0.a0']
  - libcusparse -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libdeflate -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libedit -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libffi -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
- libgcc-ng -> __glibc[version='>=2.17']
  - libglib -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libiconv -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libidn2 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libjpeg-turbo -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libllvm14 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libnpp -> __glibc[version='>=2.17,<3.0.a0']
  - libnpp -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libnvjpeg -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libpng -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libpq -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libsodium -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
  - libstdcxx-ng -> __glibc[version='>=2.17']
  - libtasn1 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libtiff -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libunistring -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
  - libuuid -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libwebp-base -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libxcb -> libgcc-ng[version='>=7.5.0'] -> __glibc[version='>=2.17']
  - libxkbcommon -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - libxml2 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - lz4-c -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - markupsafe -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - mistune -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
  - mkl -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - mkl-service -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - mkl_fft -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - mkl_random -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - mpc -> libgcc-ng[version='>=7.2.0'] -> __glibc[version='>=2.17']
  - mpfr -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
  - mysql -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - ncurses -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - nettle -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
  - numpy -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - numpy-base -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - openh264 -> libgcc-ng[version='>=7.5.0'] -> __glibc[version='>=2.17']
  - openjpeg -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - openssl -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - pcre2 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - pillow -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - psutil -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - pyqt -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17|>=2.17,<3.0.a0']
  - pyqt5-sip -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - python=3.9 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - pytorch3d -> torchvision[version='>=0.5'] -> __cuda[version='>=11.8']
  - pytorch3d -> torchvision[version='>=0.5'] -> __glibc[version='>=2.17,<3.0.a0']
  - pyyaml -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - pyzmq -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - qt-main -> __glibc[version='>=2.17,<3.0.a0']
  - qt-main -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - readline -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - rpds-py -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - sip -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - sqlite -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - tbb -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - tk -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - torchtriton -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - torchtriton -> pytorch -> __cuda[version='>=11.8']
  - torchvision==0.18.1 -> __cuda[version='>=11.8']
  - torchvision==0.18.1 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - tornado -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - xz -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - yaml -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17']
  - zeromq -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - zlib -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - zstd -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']

Your installed version is: 2.31
nairouzshehata commented 1 month ago

Now getting

Traceback (most recent call last):
  File "/vol/biomedic3/nsm116/Aorta_Repo/downsample_establish_corr_DL.py", line 4, in <module>
    from pytorch3d.loss import (
  File "/vol/biomedic3/nsm116/miniconda3/envs/pytorch3d_env/lib/python3.9/site-packages/pytorch3d/loss/__init__.py", line 10, in <module>
    from .chamfer import chamfer_distance
  File "/vol/biomedic3/nsm116/miniconda3/envs/pytorch3d_env/lib/python3.9/site-packages/pytorch3d/loss/chamfer.py", line 13, in <module>
    from pytorch3d.ops.knn import knn_gather, knn_points
  File "/vol/biomedic3/nsm116/miniconda3/envs/pytorch3d_env/lib/python3.9/site-packages/pytorch3d/ops/__init__.py", line 9, in <module>
    from .ball_query import ball_query
  File "/vol/biomedic3/nsm116/miniconda3/envs/pytorch3d_env/lib/python3.9/site-packages/pytorch3d/ops/ball_query.py", line 12, in <module>
    from pytorch3d import _C
ImportError: /vol/biomedic3/nsm116/miniconda3/envs/pytorch3d_env/lib/python3.9/site-packages/pytorch3d/_C.cpython-39-x86_64-linux-gnu.so: undefined symbol: _ZN3c1021throwNullDataPtrErrorEv
nairouzshehata commented 1 month ago

It just worked eventually! Thanks!