MahmoudAshraf97 / whisper-diarization

Automatic Speech Recognition with Speaker Diarization based on OpenAI Whisper
BSD 2-Clause "Simplified" License
3.28k stars 272 forks source link

Error: libcudnn_ops_infer.so.8: cannot open shared object file: No such file or directory #62

Closed TheGermanEngie closed 1 year ago

TheGermanEngie commented 1 year ago

I have tried to get this to work tens of times to no avail. Here's what I have installed on a fresh machine, alongside your requirements -

build-essential miniconda3 CUDA 12.1 (with 530.30.02 driver) Nightly pytorch 2.0.1 for CUDA 12.1 (pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121)

When I was googling this issue earlier people were saying "it's because you don't have cuDNN installed" but cuDNN is clearly not in your requirements, and I keep reading pytorch has its own CUDA dependencies. I've been banging my head on this but if I'm clearly doing something wrong please explain, I'm very lost.

Full Error:

Could not load library libcudnn_ops_infer.so.8. Error: libcudnn_ops_infer.so.8: cannot open shared object file: No such file or directory Please make sure libcudnn_ops_infer.so.8 is in your library path! Aborted (core dumped)

MahmoudAshraf97 commented 1 year ago

Cudnn is not in this project requirements because it's deemed essential for pytorch usage with gpu for any code, not just this code and also because it's not installed using pip so it can't be included in the requirements, install the cudnn version that is compatible with your cuda version and it should work fine

TheGermanEngie commented 1 year ago

Ok, thank you. I was just confused from reading this article:

Screenshot from 2023-07-03 13-23-51

Thank you.

TheGermanEngie commented 1 year ago

I'd like this to be updated to show that with my 3090 and CUDA 11.7 (can't run 11.8 due to a known black screen bug) throws the exact same error as I did with the CUDA 12.1 toolkit. It seems your program is written with 11.8 in mind. Also, I thought I'd just wind back up at the cuDNN version mismatch error, but there doesn't seem to be a working cuDNN install for 11.7 anyway. 11.8 worked successfully on my older rig at home that is a 10 series card, even though I used whisper in CPU mode.

(diarize) mookie@mookie-PC:~/AI/whisper-diarization$ python diarize.py -a /home/mookie/test.m4a --no-stem --whisper-model medium.en --device cuda
[NeMo W 2023-08-21 15:32:10 experimental:27] Module <class 'nemo.collections.asr.modules.audio_modules.SpectrogramToMultichannelFeatures'> is experimental, not ready for production and is not fully supported. Use at your own risk.
Downloading (…)1d2350ce/config.json: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2.64k/2.64k [00:00<00:00, 660kB/s]
Downloading (…)350ce/vocabulary.txt: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 422k/422k [00:00<00:00, 8.60MB/s]
Downloading (…)350ce/tokenizer.json: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2.13M/2.13M [00:00<00:00, 11.9MB/s]
Downloading model.bin: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1.53G/1.53G [00:33<00:00, 45.1MB/s]
Could not load library libcudnn_ops_infer.so.8. Error: libcudnn_ops_infer.so.8: cannot open shared object file: No such file or directory
Please make sure libcudnn_ops_infer.so.8 is in your library path!
Aborted (core dumped)

missing 11.7 cudnn install, but working for 11.8

(base) mookie@mookie-PC:~/Downloads$ sudo apt install libcudnn8=8.9.4.25-1+cuda11.7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package libcudnn8 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Version '8.9.4.25-1+cuda11.7' for 'libcudnn8' was not found
(base) mookie@mookie-PC:~/Downloads$ sudo apt install libcudnn8=8.9.4.25-1+cuda11.8
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  libcudnn8
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/455 MB of archives.
After this operation, 1,140 MB of additional disk space will be used.
0% [Working]^C
MahmoudAshraf97 commented 1 year ago

There's a working cudnn installation for 11.7, just uninstall and clean all cuda packages installed and then force reinstall torch, it will install torch along with cuda 11.7 and its components I'd also suggest using a docker container if you face alot on environment setup issues

TheGermanEngie commented 1 year ago

Just to be sure you mean torch from requirements.txt or my local system torch?

MahmoudAshraf97 commented 1 year ago

Torch from requirements is unpinned, so I don't think there's a difference

TheGermanEngie commented 1 year ago

I have a brand new cuda 11.7 install, installed it again for the base and for the environment, still got

(diarize) mookie@mookie-PC:~/AI/whisper-diarization$ python diarize.py -a tucker1hr.mp3 --no-stem --whisper-model medium.en --device cuda [NeMo W 2023-08-24 12:48:47 experimental:27] Module <class 'nemo.collections.asr.modules.audio_modules.SpectrogramToMultichannelFeatures'> is experimental, not ready for production and is not fully supported. Use at your own risk. Could not load library libcudnn_ops_infer.so.8. Error: libcudnn_ops_infer.so.8: cannot open shared object file: No such file or directory Please make sure libcudnn_ops_infer.so.8 is in your library path! Aborted (core dumped) (diarize) mookie@mookie-PC:~/AI/whisper-diarization$ pip3 install torch torchvision torchaudio Requirement already satisfied: torch in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (2.0.1) Requirement already satisfied: torchvision in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (0.15.2) Requirement already satisfied: torchaudio in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (2.0.2) Requirement already satisfied: filelock in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (3.12.2) Requirement already satisfied: typing-extensions in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (4.7.1) Requirement already satisfied: sympy in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (1.12) Requirement already satisfied: networkx in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (3.1) Requirement already satisfied: jinja2 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (3.1.2) Requirement already satisfied: nvidia-cuda-nvrtc-cu11==11.7.99 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (11.7.99) Requirement already satisfied: nvidia-cuda-runtime-cu11==11.7.99 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (11.7.99) Requirement already satisfied: nvidia-cuda-cupti-cu11==11.7.101 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (11.7.101) Requirement already satisfied: nvidia-cudnn-cu11==8.5.0.96 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (8.5.0.96) Requirement already satisfied: nvidia-cublas-cu11==11.10.3.66 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (11.10.3.66) Requirement already satisfied: nvidia-cufft-cu11==10.9.0.58 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (10.9.0.58) Requirement already satisfied: nvidia-curand-cu11==10.2.10.91 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (10.2.10.91) Requirement already satisfied: nvidia-cusolver-cu11==11.4.0.1 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (11.4.0.1) Requirement already satisfied: nvidia-cusparse-cu11==11.7.4.91 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (11.7.4.91) Requirement already satisfied: nvidia-nccl-cu11==2.14.3 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (2.14.3) Requirement already satisfied: nvidia-nvtx-cu11==11.7.91 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (11.7.91) Requirement already satisfied: triton==2.0.0 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torch) (2.0.0) Requirement already satisfied: setuptools in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from nvidia-cublas-cu11==11.10.3.66->torch) (65.5.1) Requirement already satisfied: wheel in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from nvidia-cublas-cu11==11.10.3.66->torch) (0.38.4) Requirement already satisfied: cmake in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from triton==2.0.0->torch) (3.27.2) Requirement already satisfied: lit in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from triton==2.0.0->torch) (16.0.6) Requirement already satisfied: numpy in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torchvision) (1.24.4) Requirement already satisfied: requests in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torchvision) (2.31.0) Requirement already satisfied: pillow!=8.3.,>=5.3.0 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from torchvision) (10.0.0) Requirement already satisfied: MarkupSafe>=2.0 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from jinja2->torch) (2.1.3) Requirement already satisfied: charset-normalizer<4,>=2 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from requests->torchvision) (3.2.0) Requirement already satisfied: idna<4,>=2.5 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from requests->torchvision) (3.4) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from requests->torchvision) (1.26.16) Requirement already satisfied: certifi>=2017.4.17 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from requests->torchvision) (2023.7.22) Requirement already satisfied: mpmath>=0.19 in /home/mookie/miniconda3/envs/diarize/lib/python3.9/site-packages (from sympy->torch) (1.3.0) (diarize) mookie@mookie-PC:~/AI/whisper-diarization$ conda activate base (base) mookie@mookie-PC:~/AI/whisper-diarization$ pip3 install torch torchvision torchaudio Requirement already satisfied: torch in /home/mookie/miniconda3/lib/python3.11/site-packages (2.0.1) Requirement already satisfied: torchvision in /home/mookie/miniconda3/lib/python3.11/site-packages (0.15.2) Requirement already satisfied: torchaudio in /home/mookie/miniconda3/lib/python3.11/site-packages (2.0.2) Requirement already satisfied: filelock in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (3.12.2) Requirement already satisfied: typing-extensions in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (4.7.1) Requirement already satisfied: sympy in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (1.12) Requirement already satisfied: networkx in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (3.1) Requirement already satisfied: jinja2 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (3.1.2) Requirement already satisfied: nvidia-cuda-nvrtc-cu11==11.7.99 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (11.7.99) Requirement already satisfied: nvidia-cuda-runtime-cu11==11.7.99 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (11.7.99) Requirement already satisfied: nvidia-cuda-cupti-cu11==11.7.101 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (11.7.101) Requirement already satisfied: nvidia-cudnn-cu11==8.5.0.96 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (8.5.0.96) Requirement already satisfied: nvidia-cublas-cu11==11.10.3.66 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (11.10.3.66) Requirement already satisfied: nvidia-cufft-cu11==10.9.0.58 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (10.9.0.58) Requirement already satisfied: nvidia-curand-cu11==10.2.10.91 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (10.2.10.91) Requirement already satisfied: nvidia-cusolver-cu11==11.4.0.1 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (11.4.0.1) Requirement already satisfied: nvidia-cusparse-cu11==11.7.4.91 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (11.7.4.91) Requirement already satisfied: nvidia-nccl-cu11==2.14.3 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (2.14.3) Requirement already satisfied: nvidia-nvtx-cu11==11.7.91 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (11.7.91) Requirement already satisfied: triton==2.0.0 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torch) (2.0.0) Requirement already satisfied: setuptools in /home/mookie/miniconda3/lib/python3.11/site-packages (from nvidia-cublas-cu11==11.10.3.66->torch) (67.8.0) Requirement already satisfied: wheel in /home/mookie/miniconda3/lib/python3.11/site-packages (from nvidia-cublas-cu11==11.10.3.66->torch) (0.38.4) Requirement already satisfied: cmake in /home/mookie/miniconda3/lib/python3.11/site-packages (from triton==2.0.0->torch) (3.27.2) Requirement already satisfied: lit in /home/mookie/miniconda3/lib/python3.11/site-packages (from triton==2.0.0->torch) (16.0.6) Requirement already satisfied: numpy in /home/mookie/miniconda3/lib/python3.11/site-packages (from torchvision) (1.25.2) Requirement already satisfied: requests in /home/mookie/miniconda3/lib/python3.11/site-packages (from torchvision) (2.31.0) Requirement already satisfied: pillow!=8.3.,>=5.3.0 in /home/mookie/miniconda3/lib/python3.11/site-packages (from torchvision) (10.0.0) Requirement already satisfied: MarkupSafe>=2.0 in /home/mookie/miniconda3/lib/python3.11/site-packages (from jinja2->torch) (2.1.3) Requirement already satisfied: charset-normalizer<4,>=2 in /home/mookie/miniconda3/lib/python3.11/site-packages (from requests->torchvision) (2.0.4) Requirement already satisfied: idna<4,>=2.5 in /home/mookie/miniconda3/lib/python3.11/site-packages (from requests->torchvision) (3.4) Requirement already satisfied: urllib3<3,>=1.21.1 in /home/mookie/miniconda3/lib/python3.11/site-packages (from requests->torchvision) (1.26.16) Requirement already satisfied: certifi>=2017.4.17 in /home/mookie/miniconda3/lib/python3.11/site-packages (from requests->torchvision) (2023.7.22) Requirement already satisfied: mpmath>=0.19 in /home/mookie/miniconda3/lib/python3.11/site-packages (from sympy->torch) (1.3.0)

TheGermanEngie commented 1 year ago

I can try installing it with conda as well as with pip.

TheGermanEngie commented 1 year ago

Fixed - had to add libcudnn_ops_infer.so.8 manually to LD_LIBRARY_PATH.

v-nhandt21 commented 10 months ago

For whom get this error, please try to install cudatoolkit and cudnn inside conda environment:

conda install cudatoolkit=11.8 cudnn=8.9.2.26

rbracco commented 9 months ago

Cudnn is not in this project requirements because it's deemed essential for pytorch usage with gpu for any code, not just this code and also because it's not installed using pip so it can't be included in the requirements, install the cudnn version that is compatible with your cuda version and it should work fine

I'm tripping over this issue and finding it hard to resolve. I've used torch plenty of times, including pip installed torch (as recommended on the torch homepage) and it has always included cudnn built in. This library uses torch as well as a subdependency, so wouldn't it be possible to install torch in a way that just bundles cudnn and avoids this error? Sorry if I'm misunderstanding.