如何使用 Docker 构建 YOLACT++?
Posted
技术标签:
【中文标题】如何使用 Docker 构建 YOLACT++?【英文标题】:How to build YOLACT++ using Docker? 【发布时间】:2021-08-06 18:35:47 【问题描述】:我必须在 docker 环境中构建 yolact++(我使用的是 sagemaker notebook)。像这样
ARG PYTORCH="1.3"
ARG CUDA="10.1"
ARG CUDNN="7"
FROM pytorch/pytorch:$PYTORCH-cuda$CUDA-cudnn$CUDNN-devel
我想运行这个
COPY yolact/external/DCNv2/setup.py /opt/ml/code/external/DCNv2/setup.py
RUN cd /opt/ml/code/external/DCNv2 && \
python setup.py build develop
但我收到了这个错误:
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
Traceback (most recent call last):
File "setup.py", line 64, in <module>
ext_modules=get_extensions(),
File "setup.py", line 41, in get_extensions
raise NotImplementedError('Cuda is not available')
NotImplementedError: Cuda is not available
但环境支持 CUDA。有谁知道问题出在哪里?
谢谢。
【问题讨论】:
错误信息表明 CUDA 未被认为是 python 编译器安装的。您是否尝试检查 CUDA 安装的存在(和路径)? 我检查了 cuda 是否可用它返回 False,但是当我检查 cuda 的版本返回我 10.1 时,我将 CUDA_PATH 设置为 CUDA_HOME="/usr/local/cuda-10.1"。跨度> 好的,如果它仍然显示using CUDA_HOME='/usr/local/cuda'
,那么您的CUDA_HOME
设置不起作用。
我该如何解决这个问题?
【参考方案1】:
您应该尝试在 dockerfile 中设置 CUDA_HOME 变量,如下所示:
ARG PYTORCH="1.3"
ARG CUDA="10.1"
ARG CUDNN="7"
FROM pytorch/pytorch:$PYTORCH-cuda$CUDA-cudnn$CUDNN-devel
ARG CUDA_HOME="/usr/local/cuda-10.1"
...然后看看python编译器是否看到它。
【讨论】:
它仍然说:没有找到 CUDA 运行时,使用 CUDA_HOME='/usr/local/cuda-10.1' 所以路径没有问题。你说cuda.is_available()
返回假......那么你必须找出原因。也许你可以检查***.com/questions/48152674/…【参考方案2】:
解决方案:
我编辑 /etc/docker/daemon.json 的内容:
"runtimes":
"nvidia":
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
,
"default-runtime": "nvidia"
然后我重新启动 docker daemon:
sudo system restart docker
它解决了我的问题。
【讨论】:
以上是关于如何使用 Docker 构建 YOLACT++?的主要内容,如果未能解决你的问题,请参考以下文章
当我使用 YOLACT 运行 train.py 时,我收到错误 KeyError: 0
yolact_edge在Jetson Xavier NX上部署yolact_edge(附资源)
yolact_edge训练自己的yolact_edge模型(并部署在Jetson Xavier上)