-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
the environment requirements of this code #1
Comments
Hi Apocalypse2403, Recently I just successfully built the whole project in an RTX3090 machine with CUDA11.1, Ubuntu 20.04. pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html Moreover, just make sure your g++/gcc version is not higher than 8, since the project won't be built successfully under higher g++/gcc versions. I hope this will help you. |
Hi Apocalypse2403, Thank you for your interest in our work! We use a Quadro RTX 5000 with CUDA 10.2, Ubuntu 20.04. Unfortunately, poetry does not (yet) support torch+cuda build variants, see here and here. However, as n0tva1id pointed out, you can manually pip install Pytorch with the CUDA version you need. In your case, this should be
after running the I hope that helped. |
Thanks for your replying and I have already establish the torch1.8.0+cuda11.1 environment. But when I run the train.py, I got a problem seems about the gcc version: ImportError: /home/jz/.cache/torch_extensions/cd/cd.so: undefined symbol: _ZNK2at6Tensor4sizeEl My gcc/g++ version is 7.5.0. Do you have any idea about that? |
Thanks for your replying ! I solved the running environment, but met another issue when I built the c++ code about Chamfer Distance part. Traceback (most recent call last): Seems like there is a problem about gcc/g++ version? My gcc/g++ version is 7.5.0. But I tried using other versions, such as 6.5, 5.5, it still didn't work. Do you have any idea about that ? Thanks again. |
I now tested on two machines, one with Ubuntu 18.04 and gcc/g++ 7.5.0 and one with Ubuntu 20.04 and gcc/g++ 9.3.0, both worked. Can you try to reinstall the poetry environment again? This can be done by
also clear poetry's pypi cache by running
and remove the compiled Chamfer distance files from the cache:
Finally, reinstall with
and activate the environment by
|
For further diagnostics, please run this Python diagnosis code modified from here in your poetry environment and post the result: import sys
import os
import platform
import subprocess
def parse_nvidia_smi():
sp = subprocess.Popen(
["nvidia-smi", "-q"], stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
out_dict = dict()
for item in sp.communicate()[0].decode("utf-8").split("\n"):
if item.count(":") == 1:
key, val = [i.strip() for i in item.split(":")]
out_dict[key] = val
return out_dict
def print_diagnostics():
print("==========System==========")
print(platform.platform())
os.system("cat /etc/lsb-release")
print(sys.version)
print("==========Pytorch==========")
try:
import torch
print(torch.__version__)
print(f"torch.cuda.is_available(): {torch.cuda.is_available()}")
except ImportError:
print("torch not installed")
print("==========NVIDIA-SMI==========")
os.system("which nvidia-smi")
for k, v in parse_nvidia_smi().items():
if "version" in k.lower():
print(k, v)
print("==========NVCC==========")
os.system("which nvcc")
os.system("nvcc --version")
print("==========CC==========")
CC = "c++"
if "CC" in os.environ or "CXX" in os.environ:
# distutils only checks CC not CXX
if "CXX" in os.environ:
os.environ["CC"] = os.environ["CXX"]
CC = os.environ["CXX"]
else:
CC = os.environ["CC"]
print(f"CC={CC}")
os.system(f"which {CC}")
os.system(f"{CC} --version")
print("==========ChamferDistance==========")
try:
from pyTorchChamferDistance.chamfer_distance import ChamferDistance
print("ChamferDistance is installed")
except ImportError:
print("ChamferDistance not installed")
if __name__ == "__main__":
print_diagnostics() |
Here's the result:
==========ChamferDistance========== |
After that I run the train.py and I got: fatal: not a git repository (or any of the parent directories): .git Thanks for your help. |
After solving the environment as you do, I run the train.py and I got: fatal: not a git repository (or any of the parent directories): .git Do you have any idea about that? |
Since the diagnostics script returns
the problem with the Chamfer distance submodule seems to be resolved. Can you confirm that? Your recent error message
indicates that your point-cloud-prediction directory is not a git repository and therefore the git commit ID can not be retrieved for the log ID. Did you clone the repo as described in the README? Can you run |
Hi benemer, I found where my problems came from. I just download the code to my pc to use it as the past. Now I clone it as described in the README and the code begins to run. Although it is just processing the sequences, at least the environment issue is solved. Maybe there will be other problems which I need your help to solve about the code. Here I have a problem about the paper. I noticed that only the Chamfer Distance and L1 loss are used for evaluating the prediction results. Is there any other metrics to compare the gt and the prediction ? Thanks for your help. |
I am happy to hear that the environment issues are solved. I will now close this issue. If you have other questions not related to the environment, please open a new issue to not mix up topics. Regarding your question: Since the pixel-wise L1 loss on the range image is not suitable for 3D point-based prediction methods, we only use the Chamfer distance for comparison. Another metric would be the Earth mover's distance which is not evaluated in our paper. |
Hi Benedikt,
I have read your paper, your work is great and thanks for releasing your code !
When I use your code, it seems that there are some conflicts between your code and my environment, especially about the part of Chamfer Distance.
Would you mind sharing the requirements about your code?
I'm using RTX 3090 GPU, CUDA11.3 and pytorch1.10.
Thanks
The text was updated successfully, but these errors were encountered: