Docker-mmdetection3d

2023-11-04 22:30
文章标签 docker mmdetection3d

本文主要是介绍Docker-mmdetection3d,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Docker-mmdetection3d

ubuntu18.04 3090Ti

文章目录

  • Docker-mmdetection3d
    • docker安装
    • 部署cuda
    • 报错
    • 安装mmdetection3d
    • 测试
    • 使用现成的镜像

docker安装

https://blog.csdn.net/b1134977524/article/details/120442417
常用命令:

  • https://blog.csdn.net/u013378306/article/details/86668313
  • https://blog.csdn.net/awodwde/article/details/122047721(wsl)

部署cuda

https://blog.csdn.net/weixin_50008473/article/details/119464898


报错

  • 用docker命令时报错,提示:Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
  • 出现问题原因:
    可能是上一次没有正常退出docker,所以docker没有正常启动,在相应的/var/run/路径下找不到docker进程。
    [root@node02 ~]# systemctl stop docker.socket
    [root@node02 ~]# sudo systemctl restart docker
    [root@node02 ~]# docker ps
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    
  • 参考:https://blog.csdn.net/weixin_42449832/article/details/114994451

安装mmdetection3d

参考:https://blog.csdn.net/weixin_41010198/article/details/116133545
可以按需修改docker/下的DockerFile

docker build -t mmdetection3d docker/

生成or启动mmdetection3容器

sudo docker run --gpus all --shm-size=8g -it -v /home/wtw/workspace/:/mmdetection3d/data mmdetection3d

/home/wtw/workspace/映射一个本地的路径到容器中,用于存放数据,这样不会导致你容器删除的时候出现数据丢失!!!

暂时安装镜像没有报错,但是测试demo时,报错mmcv1.3.8冲突

修改mmcv,从https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html查询版本

pip uninstall mmcv-full
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/mmcv_full-1.3.14-cp37-cp37m-manylinux1_x86_64.whl

如果有问题,参考https://blog.csdn.net/weixin_36670529/article/details/116664344 不同方法


安装报错


ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.imageio 2.10.3 requires pillow>=8.3.2, but you'll have pillow 8.1.1 which is incompatible.

没有A4B469963BF863CC key,添加

RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A4B469963BF863CC

Certificate verification failed
将https改成http

Dockerfile中修改pip镜像

RUN pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple
RUN pip3 config set install.trusted-host mirrors.aliyun.com

还是存在pillow问题,不过容器生成了
手动将pillow升级后,保存新镜像
sudo docker ps
sudo docker commit relaxed_gauss mmdet3d_modify
移除多余镜像

测试

python demo/pcd_demo.py demo/data/kitti/kitti_000008.bin configs/second/hv_second_secfpn_6x8_80e_kitti-3d-car.py data/testmm3d/hv_second_secfpn_6x8_80e_kitti-3d-car_20200620_230238-393f000c.pth --out-dir data/output_result/
  • 显示测试结果
    https://mmdetection3d.readthedocs.io/en/latest/useful_tools.html#visualization

修改的Dockerfile

ARG PYTORCH="1.8.0"
ARG CUDA="11.1"
ARG CUDNN="8"FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-develENV TORCH_CUDA_ARCH_LIST="5.0 7.0 8.0 8.6+PTX"
ENV TORCH_NVCC_FLAGS="-Xfatbin -compress-all"
ENV CMAKE_PREFIX_PATH="$(dirname $(which conda))/../"RUN cp /etc/apt/sources.list /etc/apt/sources.list.bak  \&& echo  "# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释\ndeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse\n# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse\ndeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse\n# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse\ndeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse\n# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse\ndeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse\n# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse" >  /etc/apt/sources.list && cat  /etc/apt/sources.list\&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A4B469963BF863CCRUN apt-get update && apt-get install -y ffmpeg libsm6 libxext6 git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 \&& apt-get clean \&& rm -rf /var/lib/apt/lists/*
# set pip channel
RUN pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple 
RUN pip3 config set install.trusted-host mirrors.aliyun.com 
# Install MMCV, MMDetection and MMSegmentation
RUN pip install openmim
RUN mim install mmdet
RUN pip install mmsegmentation
#RUN pip install mmcv-full==1.3.16 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html
#RUN pip install mmdet==2.17.0
#RUN pip install mmsegmentation==0.18.0# Install MMDetection3D
RUN conda clean --all
RUN git clone https://github.com/open-mmlab/mmdetection3d.git /mmdetection3d
WORKDIR /mmdetection3d
ENV FORCE_CUDA="1"
RUN pip install -r requirements/build.txt
#RUN pip uninstall mmcv-ful -y && pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/mmcv_full-1.6.0-cp38-cp38-manylinux1_x86_64.whl
RUN pip uninstall mmcv-ful -y && pip install mmcv-full==1.6.0   pillow==8.3.2   ipython==7.23.1   traitlets==5.2.2
RUN pip install --no-cache-dir -e .

cuda支持的算力要高于实际的显卡算力——软件支持算力高于硬件
修改setup.py文件里的TORCH_CUDA_ARCH_LIST,将这个值改成你当前使用的GPU对应算力,可以使cuda(软件算力)降到硬件范围


使用现成的镜像

 docker search mmdetection

在这里插入图片描述

挑选了这个朋友的镜像,pulling…

docker pull  hquan7395/mmdetection3d-lab

run起来,/home/{共享路径}/(本地):/mmdetection3d/data(docker容器)

sudo docker run --gpus all --shm-size=8g -it -v /home/{共享路径}/:/mmdetection3d/data hquan7395/mmdetection3d-lab

测试mm3d(需要下载模型权重文件)

python demo/pcd_demo.py demo/data/kitti_000008.bin configs/second/hv_second_secfpn_6x8_80e_kitti-3d-car.py checkpoints/hv_second_secfpn_6x8_80e_kitti-3d-car_20200620_230238-393f000c.pth

通过共享路径将结果文件夹传出来
show

在这里插入图片描述
ps:这是在自己的1050ti笔记本上测试的

这篇关于Docker-mmdetection3d的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/345609

相关文章

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

docker-compose安装和简单使用

本文介绍docker-compose的安装和使用 新版docker已经默认安装了docker-compose 可以使用docker-compose -v 查看docker-compose版本 如果没有的话可以使用以下命令直接安装 sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-c