2022-06-07 18:05:51 +08:00
|
|
|
|
# 使用 Docker 镜像
|
2022-01-25 15:11:50 +08:00
|
|
|
|
|
2023-06-06 17:15:06 +08:00
|
|
|
|
本文简述如何使用[Docker](https://docs.docker.com/get-docker/)安装mmdeploy
|
|
|
|
|
|
|
|
|
|
## 获取镜像
|
|
|
|
|
|
|
|
|
|
为了方便用户,mmdeploy在[Docker Hub](https://hub.docker.com/r/openmmlab/mmdeploy)上提供了多个版本的镜像,例如对于`mmdeploy==1.1.0`,
|
|
|
|
|
其镜像标签为`openmmlab/mmdeploy:ubuntu20.04-cuda11.3-mmdeploy1.1.0`,而最新的镜像标签为`openmmlab/mmdeploy:ubuntu20.04-cuda11.3-mmdeploy`。
|
|
|
|
|
镜像相关规格信息如下表所示:
|
|
|
|
|
|
|
|
|
|
| Item | Version |
|
|
|
|
|
| :---------: | :---------: |
|
|
|
|
|
| OS | Ubuntu20.04 |
|
|
|
|
|
| CUDA | 11.3 |
|
|
|
|
|
| CUDNN | 8.2 |
|
|
|
|
|
| Python | 3.8.10 |
|
|
|
|
|
| Torch | 1.10.0 |
|
|
|
|
|
| TorchVision | 0.11.0 |
|
|
|
|
|
| TorchScript | 1.10.0 |
|
|
|
|
|
| TensorRT | 8.2.3.0 |
|
|
|
|
|
| ONNXRuntime | 1.8.1 |
|
|
|
|
|
| OpenVINO | 2022.3.0 |
|
|
|
|
|
| ncnn | 20221128 |
|
|
|
|
|
| openppl | 0.8.1 |
|
|
|
|
|
|
|
|
|
|
用户可选择一个[镜像](https://hub.docker.com/r/openmmlab/mmdeploy/tags)并运行`docker pull`拉取镜像到本地:
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
export TAG=openmmlab/mmdeploy:ubuntu20.04-cuda11.3-mmdeploy
|
|
|
|
|
docker pull $TAG
|
2022-01-25 15:11:50 +08:00
|
|
|
|
```
|
2022-06-17 09:19:10 +08:00
|
|
|
|
|
2023-06-06 17:15:06 +08:00
|
|
|
|
## 构建镜像(可选)
|
2022-06-17 09:19:10 +08:00
|
|
|
|
|
2023-06-06 17:15:06 +08:00
|
|
|
|
如果已提供的镜像无法满足要求,用户可修改`docker/Release/Dockerfile`并在本地构建镜像。其中,构建参数`MMDEPLOY_VERSION`可以是[mmdeploy](https://github.com/open-mmlab/mmdeploy)项目的一个[标签](https://github.com/open-mmlab/mmdeploy/tags)或者分支。
|
2022-01-25 15:11:50 +08:00
|
|
|
|
|
2023-06-06 17:15:06 +08:00
|
|
|
|
```shell
|
|
|
|
|
export MMDEPLOY_VERSION=main
|
|
|
|
|
export TAG=mmdeploy-${MMDEPLOY_VERSION}
|
|
|
|
|
docker build docker/Release/ -t ${TAG} --build-arg MMDEPLOY_VERSION=${MMDEPLOY_VERSION}
|
2022-03-17 21:25:25 +08:00
|
|
|
|
```
|
|
|
|
|
|
2022-05-09 10:18:10 +08:00
|
|
|
|
## 运行 docker 容器
|
2022-01-25 15:11:50 +08:00
|
|
|
|
|
2023-06-06 17:15:06 +08:00
|
|
|
|
当拉取或构建 docker 镜像后,用户可使用 `docker run` 启动 docker 服务:
|
2022-06-17 09:19:10 +08:00
|
|
|
|
|
2023-06-06 17:15:06 +08:00
|
|
|
|
```shell
|
|
|
|
|
export TAG=openmmlab/mmdeploy:ubuntu20.04-cuda11.3-mmdeploy
|
|
|
|
|
docker run --gpus=all -it --rm $TAG
|
2022-01-25 15:11:50 +08:00
|
|
|
|
```
|
|
|
|
|
|
2022-05-09 10:18:10 +08:00
|
|
|
|
## 常见问答
|
2022-01-25 15:11:50 +08:00
|
|
|
|
|
|
|
|
|
1. CUDA error: the provided PTX was compiled with an unsupported toolchain:
|
|
|
|
|
|
2022-06-17 09:19:10 +08:00
|
|
|
|
如 [这里](https://forums.developer.nvidia.com/t/cuda-error-the-provided-ptx-was-compiled-with-an-unsupported-toolchain/185754)所说,更新 GPU 的驱动到您的GPU能使用的最新版本。
|
|
|
|
|
|
2023-04-06 12:07:42 +08:00
|
|
|
|
2. docker: Error response from daemon: could not select device driver "" with capabilities: [gpu].
|
2022-01-25 15:11:50 +08:00
|
|
|
|
|
2023-06-06 17:15:06 +08:00
|
|
|
|
```shell
|
2022-06-17 09:19:10 +08:00
|
|
|
|
# Add the package repositories
|
|
|
|
|
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
|
|
|
|
|
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
|
|
|
|
|
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
|
2022-01-25 15:11:50 +08:00
|
|
|
|
|
2022-06-17 09:19:10 +08:00
|
|
|
|
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
|
|
|
|
|
sudo systemctl restart docker
|
|
|
|
|
```
|