Skip to content
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

Dependency hell solved #14

Open
napulen opened this issue Dec 12, 2023 · 2 comments
Open

Dependency hell solved #14

napulen opened this issue Dec 12, 2023 · 2 comments

Comments

@napulen
Copy link

napulen commented Dec 12, 2023

Hello,

It seems that running the code in 2023 is extremely difficult because the versions of numpy, librosa, and numba create those well-known dependency hells that one runs into with pip.

This is no complain about the code itself, which is wonderful and well-written. Thank you so much for it and the instructions to run it.

In case it is helpful to anyone, I managed to find a winning combination of packages using conda. I leave the environment.yml here, which might be useful to make this code future-proof (hopefully), as all of these libraries will continue to update in the future.

Here it is. What you need to do, instead of the regular pip install -r requirements.txt is the following:

conda env create -n mlpsinger -f environment.yml
conda activate mlpsinger
python inference.py --checkpoint_path checkpoints/default/model.pt

And the contents of environment.yml are these:

name: mlpsinger
channels:
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2023.08.22=h06a4308_0
  - ld_impl_linux-64=2.38=h1181459_1
  - libffi=3.4.4=h6a678d5_0
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.12=h7f8727e_0
  - pip=23.3.1=py39h06a4308_0
  - python=3.9.18=h955ad1f_0
  - readline=8.2=h5eee18b_0
  - setuptools=68.0.0=py39h06a4308_0
  - sqlite=3.41.2=h5eee18b_0
  - tk=8.6.12=h1ccaba5_0
  - tzdata=2023c=h04d1e81_0
  - wheel=0.41.2=py39h06a4308_0
  - xz=5.4.5=h5eee18b_0
  - zlib=1.2.13=h5eee18b_0
  - pip:
    - absl-py==2.0.0
    - audioread==3.0.1
    - cachetools==5.3.2
    - certifi==2023.11.17
    - cffi==1.16.0
    - charset-normalizer==3.3.2
    - contourpy==1.2.0
    - cycler==0.12.1
    - decorator==5.1.1
    - filelock==3.13.1
    - fonttools==4.46.0
    - fsspec==2023.12.2
    - google-auth==2.25.2
    - google-auth-oauthlib==1.1.0
    - grpcio==1.60.0
    - idna==3.6
    - importlib-metadata==7.0.0
    - importlib-resources==6.1.1
    - jinja2==3.1.2
    - joblib==1.3.2
    - kiwisolver==1.4.5
    - lazy-loader==0.3
    - librosa==0.8.1
    - llvmlite==0.41.1
    - markdown==3.5.1
    - markupsafe==2.1.3
    - matplotlib==3.8.2
    - mido==1.2.9
    - mpmath==1.3.0
    - msgpack==1.0.7
    - networkx==3.2.1
    - numba==0.58.1
    - numpy==1.22.0
    - nvidia-cublas-cu12==12.1.3.1
    - nvidia-cuda-cupti-cu12==12.1.105
    - nvidia-cuda-nvrtc-cu12==12.1.105
    - nvidia-cuda-runtime-cu12==12.1.105
    - nvidia-cudnn-cu12==8.9.2.26
    - nvidia-cufft-cu12==11.0.2.54
    - nvidia-curand-cu12==10.3.2.106
    - nvidia-cusolver-cu12==11.4.5.107
    - nvidia-cusparse-cu12==12.1.0.106
    - nvidia-nccl-cu12==2.18.1
    - nvidia-nvjitlink-cu12==12.3.101
    - nvidia-nvtx-cu12==12.1.105
    - oauthlib==3.2.2
    - packaging==23.2
    - pillow==10.1.0
    - platformdirs==4.1.0
    - pooch==1.8.0
    - protobuf==4.23.4
    - pyasn1==0.5.1
    - pyasn1-modules==0.3.0
    - pycparser==2.21
    - pyparsing==3.1.1
    - python-dateutil==2.8.2
    - requests==2.31.0
    - requests-oauthlib==1.3.1
    - resampy==0.4.2
    - rsa==4.9
    - scikit-learn==1.3.2
    - scipy==1.11.4
    - six==1.16.0
    - soundfile==0.12.1
    - soxr==0.3.7
    - sympy==1.12
    - tensorboard==2.15.1
    - tensorboard-data-server==0.7.2
    - threadpoolctl==3.2.0
    - torch==2.1.1
    - torchaudio==2.1.1
    - triton==2.1.0
    - typing-extensions==4.9.0
    - urllib3==2.1.0
    - werkzeug==3.0.1
    - zipp==3.17.0
@jaketae
Copy link
Contributor

jaketae commented Jan 11, 2024

Hi @napulen, thank you for digging into this issue. The proposed fix makes sense to me.

We'll keep this issue open for posterity. I'm not actively maintaining this repository any more, but perhaps we can also add this to the README with updated instructions; I will take care of this once I have more bandwidth.

Thanks again!

@napulen
Copy link
Author

napulen commented Jan 11, 2024

Absolutely. Thank you @jaketae !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants