MaartenGr / KeyBERT

Minimal keyword extraction with BERT
https://MaartenGr.github.io/KeyBERT/
MIT License
3.31k stars 336 forks source link

OSError: libcudart.so.12: cannot open shared object file: No such file or directory #222

Closed PATAPOsha closed 1 month ago

PATAPOsha commented 1 month ago

Trying to start script with keybert on Kubernetes + AWS x86 machine with no graphics card available. Is it possible? Getting following traceback

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/torch/__init__.py", line 176, in _load_global_deps
    ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
  File "/usr/local/lib/python3.9/ctypes/__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libcudart.so.12: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/api/celery_tasks/extract_keywords.py", line 5, in <module>
    from keybert import KeyBERT
  File "/usr/local/lib/python3.9/site-packages/keybert/__init__.py", line 1, in <module>
    from keybert._llm import KeyLLM
  File "/usr/local/lib/python3.9/site-packages/keybert/_llm.py", line 4, in <module>
    from sentence_transformers import util
  File "/usr/local/lib/python3.9/site-packages/sentence_transformers/__init__.py", line 3, in <module>
    from .datasets import SentencesDataset, ParallelSentencesDataset
  File "/usr/local/lib/python3.9/site-packages/sentence_transformers/datasets/__init__.py", line 1, in <module>
    from .DenoisingAutoEncoderDataset import DenoisingAutoEncoderDataset
  File "/usr/local/lib/python3.9/site-packages/sentence_transformers/datasets/DenoisingAutoEncoderDataset.py", line 1, in <module>
    from torch.utils.data import Dataset
  File "/usr/local/lib/python3.9/site-packages/torch/__init__.py", line 236, in <module>
    _load_global_deps()
  File "/usr/local/lib/python3.9/site-packages/torch/__init__.py", line 197, in _load_global_deps
    _preload_cuda_deps(lib_folder, lib_name)
  File "/usr/local/lib/python3.9/site-packages/torch/__init__.py", line 162, in _preload_cuda_deps
    raise ValueError(f"{lib_name} not found in the system path {sys.path}")

my Pipfile:

keybert = "==0.8.4"

part of my Pipfile.lock:

"torch": {
            "hashes": [
                "sha256:09c81c5859a5b819956c6925a405ef1cdda393c9d8a01ce3851453f699d3358c",
                "sha256:1bf023aa20902586f614f7682fedfa463e773e26c58820b74158a72470259459",
                "sha256:20572f426965dd8a04e92a473d7e445fa579e09943cc0354f3e6fef6130ce061",
                "sha256:493d54ee2f9df100b5ce1d18c96dbb8d14908721f76351e908c9d2622773a788",
                "sha256:4fb27b35dbb32303c2927da86e27b54a92209ddfb7234afb1949ea2b3effffea",
                "sha256:5515503a193781fd1b3f5c474e89c9dfa2faaa782b2795cc4a7ab7e67de923f6",
                "sha256:6ae9f64b09516baa4ef890af0672dc981c20b1f0d829ce115d4420a247e88fba",
                "sha256:729804e97b7cf19ae9ab4181f91f5e612af07956f35c8b2c8e9d9f3596a8e877",
                "sha256:758ef938de87a2653bba74b91f703458c15569f1562bf4b6c63c62d9c5a0c1f5",
                "sha256:760f8bedff506ce9e6e103498f9b1e9e15809e008368594c3a66bf74a8a51380",
                "sha256:a306c87a3eead1ed47457822c01dfbd459fe2920f2d38cbdf90de18f23f72542",
                "sha256:b0de2bdc0486ea7b14fc47ff805172df44e421a7318b7c4d92ef589a75d27410",
                "sha256:bce43af735c3da16cc14c7de2be7ad038e2fbf75654c2e274e575c6c05772ace",
                "sha256:cd0dc498b961ab19cb3f8dbf0c6c50e244f2f37dbfa05754ab44ea057c944ef9",
                "sha256:d24e328226d8e2af7cf80fcb1d2f1d108e0de32777fab4aaa2b37b9765d8be73",
                "sha256:d8ea5a465dbfd8501f33c937d1f693176c9aef9d1c1b0ca1d44ed7b0a18c52ac",
                "sha256:dca986214267b34065a79000cee54232e62b41dff1ec2cab9abc3fc8b3dee0ad",
                "sha256:e05f836559251e4096f3786ee99f4a8cbe67bc7fbedba8ad5e799681e47c5e80",
                "sha256:e65ba85ae292909cde0dde6369826d51165a3fc8823dc1854cd9432d7f79b932",
                "sha256:f9b98bf1a3c8af2d4c41f0bf1433920900896c446d1ddc128290ff146d1eb4bd"
            ],
            "markers": "python_full_version >= '3.8.0'",
            "version": "==2.3.0"
        },
        "tqdm": {
            "hashes": [
                "sha256:b75ca56b413b030bc3f00af51fd2c1a1a5eac6a0c1cca83cbb37a5c52abce644",
                "sha256:e4d936c9de8727928f3be6079590e97d9abfe8d39a590be678eb5919ffc186bb"
            ],
            "markers": "python_version >= '3.7'",
            "version": "==4.66.4"
        },
        "transformers": {
            "hashes": [
                "sha256:55e1697e6f18b58273e7117bb469cdffc11be28995462d8d5e422fef38d2de36",
                "sha256:9d5ee0c8142a60501faf9e49a0b42f8e9cb8611823bce4f195a9325a6816337e"
            ],
            "markers": "python_full_version >= '3.8.0'",
            "version": "==4.40.1"
        },
...
"keybert": {
            "hashes": [
                "sha256:35473ab0842cf6d09bcfd0677cee9a21a8b0448bbb3f309ea3827ca297f24611"
            ],
            "index": "pypi",
            "version": "==0.8.4"
        },
MaartenGr commented 1 month ago

Thanks for sharing! A quick google search shows that this might be related to a mismatch between CUDA versions. Could you check whether that is indeed the case?

PATAPOsha commented 1 month ago

Turned out it is pipenv issue. It does not install all torch requirements properly. Installing with pip install torch==2.3.0 helped.