cvlab-epfl / MeshUDF

Fast and Differentiable Meshing of Unsigned Distance Field Networks
GNU General Public License v3.0
138 stars 7 forks source link

conda env wrong name and invalid dependencies #1

Closed kampelmuehler closed 2 years ago

kampelmuehler commented 2 years ago

Hi!

Some things are not working correctly with your provided conda environment.

torchmcubes can't be installed through pip, you need to add - -e git+https://github.com/tatsy/torchmcubes.git#egg=torchmcubes==0.1.0 under the pip dependencies.

Also the env is named pytorch3d in the yml, not meshudf.

Also add pip under the conda dependencies in the yml, because otherwise conda complains.

Unfortunately I can't test it and make a PR because I keep running into issues with RTX3*** GPUs related to compute compatability mismatches.

bguillard commented 2 years ago

Hello, and thank you for reporting these issues. I have updated and simplified the .yml env file. Now the env name is correct, and there are no longer pip dependencies. I must admit I was being lazy and had just copied all the dependencies of my current working environment, without taking much care of which ones were actually needed. Sorry for this.

Now, what is the compatibility issue you are running into? Is this related to pytorch3d? If it can help, this is how I manually create the environment (ie. without a .yml file):

conda create -n meshudf python=3.8.11
conda activate meshudf
conda install numpy networkx scipy cython
conda install -c conda-forge trimesh
conda install -c pytorch pytorch=1.7.1 torchvision cudatoolkit=10.2
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install -c bottler nvidiacub
conda install -c pytorch3d pytorch3d
kampelmuehler commented 2 years ago

cudatoolkit=10.2 is causing issues for me, since it doesn't support RTX3*** series GPUs. And some dependency issues could not be resolved with the latest pytorch, but since some of the dependencies dropped now it might work.

bguillard commented 2 years ago

I see, maybe you can just try to use a more recent version of pytorch and cudatoolkit:

conda create -n meshudf python=3.8.11
conda activate meshudf
conda install numpy networkx scipy cython
conda install -c conda-forge trimesh
conda install -c pytorch pytorch=1.10.0 torchvision cudatoolkit=11.3
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install -c bottler nvidiacub
conda install -c pytorch3d pytorch3d
kampelmuehler commented 2 years ago

Thanks, that works!

This is the env I get:

name: meshudf
channels:
  - pytorch3d
  - bottler
  - iopath
  - fvcore
  - pytorch
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=4.5=1_gnu
  - blas=1.0=mkl
  - bzip2=1.0.8=h7b6447c_0
  - ca-certificates=2021.10.26=h06a4308_2
  - certifi=2021.10.8=py38h06a4308_2
  - colorama=0.4.4=pyh9f0ad1d_0
  - cudatoolkit=11.3.1=h2bc3f7f_2
  - cython=0.29.25=py38hdbfa776_0
  - ffmpeg=4.3=hf484d3e_0
  - freetype=2.11.0=h70c0345_0
  - fvcore=0.1.5.post20210915=py38
  - giflib=5.2.1=h7b6447c_0
  - gmp=6.2.1=h2531618_2
  - gnutls=3.6.15=he1e5248_0
  - intel-openmp=2021.4.0=h06a4308_3561
  - iopath=0.1.9=py38
  - jpeg=9d=h7f8727e_0
  - lame=3.100=h7b6447c_0
  - lcms2=2.12=h3be6417_0
  - ld_impl_linux-64=2.35.1=h7274673_9
  - libffi=3.3=he6710b0_2
  - libgcc-ng=9.3.0=h5101ec6_17
  - libgfortran-ng=7.5.0=ha8ba4b0_17
  - libgfortran4=7.5.0=ha8ba4b0_17
  - libgomp=9.3.0=h5101ec6_17
  - libiconv=1.15=h63c8f33_5
  - libidn2=2.3.2=h7f8727e_0
  - libpng=1.6.37=hbc83047_0
  - libstdcxx-ng=9.3.0=hd4cf53a_17
  - libtasn1=4.16.0=h27cfd23_0
  - libtiff=4.2.0=h85742a9_0
  - libunistring=0.9.10=h27cfd23_0
  - libuv=1.40.0=h7b6447c_0
  - libwebp=1.2.0=h89dd481_0
  - libwebp-base=1.2.0=h27cfd23_0
  - lz4-c=1.9.3=h295c915_1
  - mkl=2021.4.0=h06a4308_640
  - mkl-service=2.4.0=py38h7f8727e_0
  - mkl_fft=1.3.1=py38hd3c417c_0
  - mkl_random=1.2.2=py38h51133e4_0
  - ncurses=6.3=h7f8727e_2
  - nettle=3.7.3=hbbd107a_1
  - networkx=2.6.3=pyhd3eb1b0_0
  - numpy=1.21.2=py38h20f2e39_0
  - numpy-base=1.21.2=py38h79a1101_0
  - nvidiacub=1.10.0=0
  - olefile=0.46=pyhd3eb1b0_0
  - openh264=2.1.1=h4ff587b_0
  - openssl=1.1.1m=h7f8727e_0
  - pillow=8.4.0=py38h5aabda8_0
  - pip=21.2.4=py38h06a4308_0
  - portalocker=2.3.2=py38h578d9bd_1
  - python=3.8.11=h12debd9_0_cpython
  - python_abi=3.8=2_cp38
  - pytorch=1.10.0=py3.8_cuda11.3_cudnn8.2.0_0
  - pytorch-mutex=1.0=cuda
  - pytorch3d=0.6.1=py38_cu113_pyt1100
  - pyyaml=5.4.1=py38h497a2fe_0
  - readline=8.1.2=h7f8727e_1
  - scipy=1.7.3=py38hc147768_0
  - setuptools=58.0.4=py38h06a4308_0
  - six=1.16.0=pyhd3eb1b0_0
  - sqlite=3.37.0=hc218d9a_0
  - tabulate=0.8.9=pyhd8ed1ab_0
  - termcolor=1.1.0=py_2
  - tk=8.6.11=h1ccaba5_0
  - torchvision=0.11.1=py38_cu113
  - tqdm=4.62.3=pyhd8ed1ab_0
  - trimesh=3.9.39=pyh6c4a22f_0
  - typing_extensions=3.10.0.2=pyh06a4308_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.2.5=h7b6447c_0
  - yacs=0.1.6=py_0
  - yaml=0.2.5=h516909a_0
  - zlib=1.2.11=h7f8727e_4
  - zstd=1.4.9=haebb681_0
prefix: ~/miniconda3/envs/meshudf

Maybe you can make it the env for the repo for improved compatability?

bguillard commented 2 years ago

Yes, thanks a lot!