mlp-singer
mlp-singer copied to clipboard
Dependency hell solved
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
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!
Absolutely. Thank you @jaketae !