Installation Errors with NVIDIA RTX3080 & Newer CUDA Versions
altaykacan opened this issue · 2 comments
Hey @drprojects , thank you for making the repo available and the extensive instructions! However, I ran into a lot problems while trying to setup the environment and would be grateful if you could help out.
I was trying to install based on the install.sh
script that is provided and couldn't figure out what to do after days of trying. As far as I can tell the problem is due to the installation of Minkowski Engine and the GPU I'm using.
Here's the system and
GPU information I've been working with:
System:
Ubuntu 20.04.5 LTS
GPU & CUDA:
Model: NVIDIA GeForce RTX 3080
nvcc path: /usr/local/cuda-11.4/bin/nvcc
nvcc version:
NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Oct_11_21:27:02_PDT_2021
Cuda compilation tools, release 11.4, V11.4.152
Build cuda_11.4.r11.4/compiler.30521435_0
I've tried using multiple CUDA versions (11.4 and 11.6) and still couldn't get the installation script to work. As far as I understand MinkowskiEngine 0.4 doesn't work with newer GPUs so in install.sh
I removed the version specification for it (i.e. pip install -U MinkowskiEngine --install-option="--blas=openblas" -v --no-deps
). It also resulted in similar errors when I used the default version in the script.
My main questions would be:
- How could we adopt the
install.sh
script to support newer CUDA versions and GPUs? - Is there an alternative installation method to create the conda environment?
- Could you have a look at the error logs below? I'm attaching them as txt files because they are quite long but I hope they make sense and are helpful.
Beginning of the installation & pip versioning error with `urllib: error_1.txt
Minkowski Engine compilation problems: error_2.txt
Errors with Jupyter, these only happen at the end and probably are due to the earlier errors: error_3.txt
Thank you in advance for your help!
Hi @altaykacan,
Sorry to hear you are having installation issues, those can be tricky. To give you a little explanation of why, this project relies on a modified frozen version of torch-points3d
, which in turn relies on torch-geometric==1.6.3
. Unfortunately, more recent torch-geometric
versions are not backward-compatible and break some parts of torch-points3d
. The main developpers of TP3D
know this but have not had the time to work on it. End of the line: we are stuck with using torch-geometric==1.6.3
, which in turn limits the torch
and CUDA
versions we can use.
I built the install.sh
script so as to facilitate the installation by searching your CUDA version and installing the proper torch-geometric
dependencies, but it is certainly not bullet-proof !
-
How could we adopt the install.sh script to support newer CUDA versions and GPUs?
You will have to make sure that your torch
, torch-geometric
and CUDA
versions are compatible and install torch
and torch-geometric
from 'manually-selected' wheels. For starters, you must use torch-geometric==1.6.3
and torch>=1.7.1
to avoid any other problem. This limits your options. Have a look at https://pytorch-geometric.com/whl to find which CUDA
version the torch-geometric
dependencies let you use for which torch
version. For example, for torch-1.7.1
, you can use CUDA 9.2
, CUDA 10.1
, CUDA 10.2
and CUDA 11.0
. If you absolutely need to use other CUDA
versions, you can try to install a different torch
version and the appropriate torch-geometric
dependencies. I have not tested the code with torch
versions above torch==1.7.1
, you might be able to do it but I can't vouch for it ;)
-
Is there an alternative installation method to create the conda environment?
Nope, the installation is sensitive because of the torch-points3d
-torch-geometric
limbo explained above. It would be possible to build this project outside of torch-points3d
and hence use the most recent torch-geometric
and torch
versions. But this would require time I do not have...
error_1.txt
I can't relly tell what is happening apart from what the log says: the install has downgraded your urllib3
from 1.26
to 1.25
at some points and it makes sentry-sdk
unhappy. I checked on my machines, I have urllib3==1.25.10
and sentry-sdk==0.20.2
installed, which seems (not sure) to be a dependency of pathtools==0.1.2
. But I can't tell which library depends on pathtools
. If you run install.sh
line by line, you will find this out. In which case you can manually install the same version as me for the problematic package.
To help you, here are my specs:
... on a CUDA-11.4
machine
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Wed_Jun__2_19:15:15_PDT_2021
Cuda compilation tools, release 11.4, V11.4.48
Build cuda_11.4.r11.4/compiler.30033411_0
Package Version
----------------------------- -------------------
absl-py 0.11.0
antlr4-python3-runtime 4.8
argon2-cffi 20.1.0
ase 3.21.1
async-generator 1.10
attrs 20.2.0
backcall 0.2.0
backports.functools-lru-cache 1.6.1
bleach 3.1.5
brotlipy 0.7.0
cached-property 1.5.2
cachetools 4.2.1
certifi 2021.5.30
cffi 1.14.2
chardet 3.0.4
click 7.1.2
cmake 3.18.4.post1
configparser 5.0.1
cryptography 3.1
cycler 0.10.0
decorator 4.4.2
defusedxml 0.6.0
docker-pycreds 0.4.0
entrypoints 0.3
faiss 1.6.5
filelock 3.0.12
gdown 3.12.2
gitdb 4.0.5
GitPython 3.1.13
google-auth 1.26.1
google-auth-oauthlib 0.4.2
googledrivedownloader 0.4
GPUtil 1.4.0
grpcio 1.35.0
h5py 3.1.0
hydra-core 1.1.0
idna 2.10
imageio 2.9.0
importlib-metadata 1.7.0
importlib-resources 5.1.0
ipykernel 5.3.4
ipython 7.18.1
ipython-genutils 0.2.0
ipywidgets 7.5.1
isodate 0.6.0
jedi 0.15.2
Jinja2 2.11.2
joblib 1.0.1
json5 0.9.4
jsonpatch 1.28
jsonpointer 2.0
jsonschema 3.2.0
jupyter-client 6.1.7
jupyter-core 4.6.3
jupyterlab 2.2.6
jupyterlab-pygments 0.1.1
jupyterlab-server 1.2.0
kiwisolver 1.3.1
llvmlite 0.35.0
Markdown 3.3.3
MarkupSafe 1.1.1
matplotlib 3.3.4
MinkowskiEngine 0.5.1
mistune 0.8.4
mit-semseg 1.0.0
mkl-fft 1.3.0
mkl-random 1.1.1
mkl-service 2.3.0
nb-conda-kernels 2.2.4
nbclient 0.5.0
nbconvert 6.0.1
nbformat 5.0.7
nest-asyncio 1.4.0
networkx 2.5
notebook 6.1.4
numba 0.52.0
numpy 1.20.1
oauthlib 3.1.0
omegaconf 2.1.0
opencv-python 4.5.2.54
packaging 20.4
pandas 1.2.2
pandocfilters 1.4.2
parso 0.5.2
pathtools 0.1.2
pexpect 4.8.0
pickleshare 0.7.5
Pillow 8.1.0
pip 20.2.2
plotly 4.14.3
plyfile 0.7.3
prometheus-client 0.8.0
promise 2.3
prompt-toolkit 3.0.7
protobuf 3.14.0
psutil 5.8.0
ptyprocess 0.6.0
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycparser 2.20
Pygments 2.6.1
pykeops 1.4.2
pyOpenSSL 19.1.0
pyparsing 2.4.7
pypng 0.0.21
pyrsistent 0.17.2
PySocks 1.7.1
python-dateutil 2.8.1
python-louvain 0.15
pytorch-metric-learning 0.9.96
pytz 2021.1
PyYAML 5.4.1
pyzmq 19.0.2
rdflib 5.0.0
requests 2.24.0
requests-oauthlib 1.3.0
retrying 1.3.3
rsa 4.7.1
scikit-learn 0.24.1
scipy 1.6.0
seaborn 0.11.1
Send2Trash 1.5.0
sentry-sdk 0.20.2
setuptools 49.6.0.post20200814
shortuuid 1.0.1
six 1.15.0
smmap 3.0.5
subprocess32 3.5.4
tensorboard 2.4.1
tensorboard-plugin-wit 1.8.0
terminado 0.8.3
testpath 0.4.4
threadpoolctl 2.1.0
torch 1.7.1+cu110
torch-cluster 1.5.8
torch-geometric 1.6.3
torch-points-kernels 0.6.10
torch-scatter 2.0.8
torch-sparse 0.6.8
torchfile 0.1.0
torchnet 0.0.4
torchsparse 1.1.0
torchvision 0.8.2+cu110
tornado 6.0.4
tqdm 4.59.0
traitlets 5.0.4
typing-extensions 3.7.4.3
urllib3 1.25.10
visdom 0.1.8.9
wandb 0.10.19
wcwidth 0.2.5
webencodings 0.5.1
websocket-client 0.57.0
Werkzeug 1.0.1
wheel 0.35.1
widgetsnbextension 3.5.1
yacs 0.1.8
zipp 3.1.0
... on a CUDA-10.2
machine
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89
Package Version
----------------------------- -------------------
absl-py 0.9.0
alabaster 0.7.12
apex 0.1
appdirs 1.4.3
ascii-graph 1.5.1
ase 3.21.1
attrs 19.3.0
audioread 2.1.8
Babel 2.8.0
backcall 0.2.0
beautifulsoup4 4.9.3
bleach 3.1.3
boto3 1.12.28
botocore 1.15.28
brotlipy 0.7.0
cachetools 4.0.0
certifi 2020.12.5
cffi 1.14.5
chardet 4.0.0
chart-studio 1.1.0
click 7.1.1
codecov 2.0.22
colorama 0.4.4
conda 4.9.2
conda-build 3.18.11
conda-package-handling 1.7.2
configparser 5.0.1
coverage 5.0.4
cryptography 3.4.6
cycler 0.10.0
cymem 2.0.5
Cython 0.28.4
cytoolz 0.9.0.1
dataclasses 0.8
DataProperty 0.46.4
decorator 4.4.2
defusedxml 0.6.0
dill 0.2.9
docker-pycreds 0.4.0
docutils 0.15.2
entrypoints 0.3
filelock 3.0.12
flake8 3.7.9
Flask 1.1.1
future 0.18.2
GDAL 2.2.3
gdown 3.12.2
gitdb 4.0.5
GitPython 3.1.13
glob2 0.7
google-auth 1.11.3
google-auth-oauthlib 0.4.1
googledrivedownloader 0.4
gql 0.2.0
graphql-core 1.1
grpcio 1.27.2
gviz-api 1.9.0
h5py 2.10.0
html2text 2020.1.16
hydra-core 0.11.3
hypothesis 4.50.8
idna 2.10
imageio 2.8.0
imagesize 1.2.0
importlib-metadata 1.5.0
inflect 4.1.0
ipdb 0.13.2
ipykernel 5.2.0
ipympl 0.6.3
ipython 7.12.0
ipython-genutils 0.2.0
ipywidgets 7.6.3
isodate 0.6.0
itsdangerous 1.1.0
jedi 0.18.0
Jinja2 2.11.3
jmespath 0.9.5
joblib 0.14.1
json5 0.9.3
jsonpatch 1.28
jsonpointer 2.0
jsonschema 3.2.0
jupyter-client 6.1.0
jupyter-core 4.6.3
jupyter-tensorboard 0.2.0
jupyterlab 2.2.9
jupyterlab-git 0.23.3
jupyterlab-server 1.2.0
jupyterlab-widgets 1.0.0
jupytext 1.10.0
kaleido 0.1.0
kiwisolver 1.1.0
libarchive-c 2.9
librosa 0.6.3
llvmlite 0.32.1
lmdb 0.98
Mako 1.1.2
Markdown 3.2.1
markdown-it-py 0.6.2
MarkupSafe 1.1.1
maskrcnn-benchmark 0.1
matplotlib 3.3.4
mbstrdecoder 0.8.4
mccabe 0.6.1
mdit-py-plugins 0.2.5
MinkowskiEngine 0.5.1
mistune 0.8.4
mlperf-compliance 0.0.10
mock 4.0.1
more-itertools 8.2.0
msgfy 0.0.7
msgpack 0.6.1
msgpack-numpy 0.4.3.2
murmurhash 1.0.5
nbconvert 5.6.1
nbdime 2.1.0
nbformat 5.0.4
networkx 2.0
nltk 3.4.5
notebook 6.0.3
numba 0.49.1
numpy 1.19.5
nvidia-dali 0.19.0
nvidia-ml-py3 7.352.0
oauthlib 3.1.0
omegaconf 1.4.1
onnx 1.6.0
open3d 0.10.0.0
packaging 20.3
pandas 1.1.5
pandocfilters 1.4.2
param 1.10.1
parso 0.8.1
pathvalidate 2.2.1
pexpect 4.8.0
pickleshare 0.7.5
Pillow 8.1.0
Pillow-SIMD 5.3.0.post1
pip 21.0.1
pkginfo 1.7.0
plac 0.9.6
plotly 4.14.3
plotly-geo 1.0.0
pluggy 0.13.1
plyfile 0.7.3
preshed 2.0.1
progressbar 2.5
prometheus-client 0.7.1
promise 2.3
prompt-toolkit 3.0.8
protobuf 3.11.3
psutil 5.8.0
ptyprocess 0.7.0
py 1.8.1
pyasn1 0.4.8
pyasn1-modules 0.2.8
pybind11 2.4.3
pycocotools 2.0+nv0.4.0
pycodestyle 2.5.0
pycosat 0.6.3
pycparser 2.20
pycuda 2019.1.2
pydot 1.4.1
pyflakes 2.1.1
Pygments 2.8.1
pyOpenSSL 20.0.1
pyparsing 2.4.6
pyrsistent 0.16.0
PySocks 1.7.1
pytablewriter 0.50.0
pytest 5.4.1
pytest-cov 2.8.1
pytest-pythonpath 0.7.3
python-dateutil 2.8.1
python-hostlist 1.20
python-louvain 0.15
python-nvd3 0.15.0
python-slugify 4.0.0
pytools 2020.1
pytorch-metric-learning 0.9.97.dev2
pytorch-transformers 1.1.0
pytz 2021.1
pyviz-comms 2.0.1
PyWavelets 1.1.1
PyYAML 5.3
pyzmq 19.0.0
rdflib 5.0.0
regex 2020.11.13
requests 2.25.1
requests-oauthlib 1.3.0
resampy 0.2.2
retrying 1.3.3
revtok 0.0.3
rsa 4.0
ruamel-yaml 0.15.87
s3transfer 0.3.3
sacrebleu 1.2.10
sacremoses 0.0.35
scikit-image 0.16.2
scikit-learn 0.24.1
scipy 1.5.4
Send2Trash 1.5.0
sentencepiece 0.1.85
sentry-sdk 0.20.2
setuptools 52.0.0.post20210125
shortuuid 1.0.1
six 1.15.0
sk-video 1.1.10
smmap 3.0.5
snowballstemmer 2.0.0
SoundFile 0.10.3.post1
soupsieve 2.2
sox 1.3.7
spacy 2.0.16
Sphinx 2.4.4
sphinx-rtd-theme 0.4.3
sphinxcontrib-applehelp 1.0.2
sphinxcontrib-devhelp 1.0.2
sphinxcontrib-htmlhelp 1.0.3
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.3
sphinxcontrib-serializinghtml 1.1.4
SSD 0.1
subprocess32 3.5.4
subword-nmt 0.3.3
tabledata 1.1.0
tabulate 0.8.7
tensorboard 2.2.1
tensorboard-plugin-profile 2.4.0
tensorboard-plugin-wit 1.8.0
tensorrt 7.0.0.11
terminado 0.8.3
testpath 0.4.4
text-unidecode 1.3
thinc 6.12.1
threadpoolctl 2.1.0
tifffile 2020.9.3
toml 0.10.0
toolz 0.11.1
torch 1.7.1
torch-cluster 1.5.8
torch-geometric 1.6.3
torch-points-kernels 0.6.10
torch-points3d 1.2.0
torch-scatter 2.0.5
torch-sparse 0.6.8
torchfile 0.1.0
torchnet 0.0.4
torchsparse 1.1.0
torchtext 0.4.0
torchvision 0.8.2
tornado 6.0.4
tqdm 4.59.0
traitlets 4.3.3
typepy 0.6.6
typing 3.7.4.1
typing-extensions 3.7.4.1
ujson 4.0.2
Unidecode 1.1.1
urllib3 1.26.3
visdom 0.1.8.9
wandb 0.8.36
watchdog 2.0.0
wcwidth 0.2.5
webencodings 0.5.1
websocket-client 0.57.0
Werkzeug 1.0.0
wheel 0.36.2
widgetsnbextension 3.5.1
wrapt 1.10.11
yacs 0.1.6
zipp 3.1.0
error_2.txt
MinkowskiEngine
is actually not essential to this project, you can skip this install, it should be fine. Let me know if this causes trouble later on.
error_3.txt
This error seems related to jupyter-dash
installation (I am not 100% from the logs). This package is useful for using plotly
in jupyter
. If this part of the install.sh
does not setup properly, please refer to: https://plotly.com/python/getting-started/#jupyterlab-support.
Hope this helps !
Yes thank you so much it really helps!