如何使用 Docker 构建 YOLACT++?
How to build YOLACT++ using Docker?
我必须在 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。任何人都知道问题出在哪里?
谢谢。
您应该尝试像这样在 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 编译器是否看到它。
解决方案:
我编辑 /etc/docker/daemon.json 内容为:
{
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia"
}
然后我重新启动 docker 守护程序:
sudo system restart docker
它解决了我的问题。
我必须在 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。任何人都知道问题出在哪里?
谢谢。
您应该尝试像这样在 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 编译器是否看到它。
解决方案:
我编辑 /etc/docker/daemon.json 内容为:
{
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia"
}
然后我重新启动 docker 守护程序:
sudo system restart docker
它解决了我的问题。