原始错误:libcublass .so.10:不能打开共享对象文件:没有这样的文件或目录



我正在尝试使用Django与python机器学习模块与以下要求的api。
原始错误:libcublas.so。当我尝试使用docker-compose up运行项目时,没有这样的文件或目录
得到这个错误。如何设置docker,编辑docker文件和docker-compose文件来解决这个问题。

我使用的是Windows 10, Nvidia 950M GPU。

[+] Running 1/1
- Container tryon_api_web_1  Started                                                                                                                                                                         9.3s
Attaching to web_1
web_1  | Watching for file changes with StatReloader
web_1  | Performing system checks...
web_1  |
web_1  | Exception in thread django-main-thread:
web_1  | Traceback (most recent call last):
web_1  |   File "/usr/local/lib/python3.9/site-packages/cupy/__init__.py", line 16, in <module>
web_1  |     from cupy import _core  # NOQA
web_1  |   File "/usr/local/lib/python3.9/site-packages/cupy/_core/__init__.py", line 1, in <module>
web_1  |     from cupy._core import core  # NOQA
web_1  | ImportError: libcublas.so.10: cannot open shared object file: No such file or directory
web_1  |
web_1  | The above exception was the direct cause of the following exception:
web_1  |
web_1  | Traceback (most recent call last):
web_1  |   File "/usr/local/lib/python3.9/threading.py", line 973, in _bootstrap_inner
web_1  |     self.run()
web_1  |   File "/usr/local/lib/python3.9/threading.py", line 910, in run
web_1  |     self._target(*self._args, **self._kwargs)
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/utils/autoreload.py", line 64, in wrapper
web_1  |     fn(*args, **kwargs)
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 118, in inner_run
web_1  |     self.check(display_num_errors=True)
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 419, in check
web_1  |     all_issues = checks.run_checks(
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/core/checks/registry.py", line 76, in run_checks
web_1  |     new_errors = check(app_configs=app_configs, databases=databases)
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/core/checks/urls.py", line 40, in check_url_namespaces_unique
web_1  |     all_namespaces = _load_all_namespaces(resolver)
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/core/checks/urls.py", line 57, in _load_all_namespaces
web_1  |     url_patterns = getattr(resolver, 'url_patterns', [])
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
web_1  |     res = instance.__dict__[self.name] = self.func(instance)
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/urls/resolvers.py", line 598, in url_patterns
web_1  |     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
web_1  |     res = instance.__dict__[self.name] = self.func(instance)
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/urls/resolvers.py", line 591, in urlconf_module
web_1  |     return import_module(self.urlconf_name)
web_1  |   File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
web_1  |     return _bootstrap._gcd_import(name[level:], package, level)
web_1  |   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
web_1  |   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
web_1  |   File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
web_1  |   File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
web_1  |   File "<frozen importlib._bootstrap_external>", line 850, in exec_module
web_1  |   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
web_1  |   File "/app/tryOn_api/urls.py", line 24, in <module>
web_1  |     path('test/', include('tryOn_app.urls'))
web_1  |   File "/usr/local/lib/python3.9/site-packages/django/urls/conf.py", line 34, in include
web_1  |     urlconf_module = import_module(urlconf_module)
web_1  |   File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
web_1  |     return _bootstrap._gcd_import(name[level:], package, level)
web_1  |   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
web_1  |   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
web_1  |   File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
web_1  |   File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
web_1  |   File "<frozen importlib._bootstrap_external>", line 850, in exec_module
web_1  |   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
web_1  |   File "/app/tryOn_app/urls.py", line 4, in <module>
web_1  |     from . import views
web_1  |   File "/app/tryOn_app/views.py", line 12, in <module>
web_1  |     from .network_models.afwm import AFWM
web_1  |   File "/app/tryOn_app/network_models/afwm.py", line 4, in <module>
web_1  |     from .correlation import correlation
web_1  |   File "/app/tryOn_app/network_models/correlation/correlation.py", line 5, in <module>
web_1  |     import cupy
web_1  |   File "/usr/local/lib/python3.9/site-packages/cupy/__init__.py", line 37, in <module>
web_1  |     raise ImportError(_msg) from e
web_1  | ImportError: CuPy is not correctly installed.
web_1  |
web_1  | If you are using wheel distribution (cupy-cudaXX), make sure that the version of CuPy you installed matches with the version of CUDA on your host.
web_1  | Also, confirm that only one CuPy package is installed:
web_1  |   $ pip freeze
web_1  |
web_1  | If you are building CuPy from source, please check your environment, uninstall CuPy and reinstall it with:
web_1  |   $ pip install cupy --no-cache-dir -vvvv
web_1  |
web_1  | Check the Installation Guide for details:
web_1  |   https://docs.cupy.dev/en/latest/install.html
web_1  |
web_1  | original error: libcublas.so.10: cannot open shared object file: No such file or directory

Django==3.2.3 
gunicorn==20.1.0 
djangorestframework==3.12.4 
fastrlock==0.6
numpy==1.20.3
opencv-contrib-python==4.5.2.52
opencv-python==4.5.2.52
Pillow==8.2.0
pytz==2021.1
sqlparse==0.4.1
typing-extensions==3.10.0.0
cupy-cuda102==9.1.0
--find-links https://download.pytorch.org/whl/torch_stable.html
torch==1.8.1+cu102 
torchvision==0.9.1+cu102 
torchaudio===0.8.1

Dockerfile

FROM python:3
ENV PYTHONUNBUFFERED 1
WORKDIR /app
ADD . /app
COPY ./requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
COPY . /app

docker-compose.yml

version: '3'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports: 
- "8000:8000"

显然,你计划在你的docker容器内使用GPU资源,这是一个有很多资源的热门话题,就在配置GPU支持docker环境之后,你可以做你想做的!这是一个很好的开始!另外,该错误显示GPU(cuda)相关文件不可达。