一、出现情景

  1. 创建docker 容器 ,代码中使用了gpu

    docker logs 查看日志:

    ...
      File "/usr/local/lib/python3.6/dist-packages/mxnet/base.py", line 204, in _load_lib
        lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL)
      File "/usr/lib/python3.6/ctypes/__init__.py", line 348, in __init__
        self._handle = _dlopen(self._name, mode)
    OSError: libcuda.so.1: cannot open shared object file: No such file or directory
     

二、原因分析

容器没有启动cuda

三、解决办法

docker 命令修改

方式1

docker run -it --name live_flask --gpus all    //这个启动所有gpu
docker run -it --name live_flask --gpus 0    //这个启动指定gpu
docker run -it --name live_flask --gpus device=0    //这个启动指定gpu
docker run -it --name live_flask --gpus "device=0"    //这个启动指定gpu

方式2: 前提要安装nvidia-docker,否则没这个命令

nvidia-docker run -it --name live_flask

如果还有问题,基本就是缺少依赖包

RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
    libglib2.0-dev \
    libgl1-mesa-dev \
    libxrender1 \
    libgl1-mesa-glx \
    libxext-dev

Logo

欢迎来到由智源人工智能研究院发起的Triton中文社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。

更多推荐