Docker使用及本地Yolov5打包教程

1. Docker的安装

注意:官方也提供了直接Pull Yolov5的渠道:

复制代码
docker pull ultralytics/yolov5

详见:https://hub.docker.com/r/ultralytics/yolov5

--------------------------------------------------以下正文-----------------------------------------------------

建议观看本教学视频:05.安装配置_哔哩哔哩_bilibili

官方下载链接:Docker: Accelerated Container Application Development

注意:需要科学上网注册账号

下载好后如下图:

2. Docker的相关指令学习

docker 常用命令大全_docker常用命令_保护我方胖虎的博客-CSDN博客

【Docker系列】从头学起 Docker------docker run 命令详解_搞什么滚去学习的博客-CSDN博客

3. 案例-打包本地修改好的Yolov5包

3.1 找到本地Yolov5的文件夹:

3.2 创建Dockerfile,注意,没有拓展名。

复制代码
#基于的基础镜像
FROM python:3.9.10
#代码添加到code文件夹
ADD . /usr/src/app/uniform/yolotest
# 设置code文件夹是工作目录
WORKDIR /usr/src/app/uniform/yolotest
# 安装支持
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt

3.3 在Yolov5项目目录的cmd中创建Image

复制代码
docker build -t test .

运行时间可能比较长,运行完成的界面:

在Docker Desktop中就可以看到了:

3.4 Image转为Container

在cmd中运行:

复制代码
docker run -it --gpus all --net=host --ipc=host --privileged=true --name test01 --ulimit core=-1 -v F:/Deep_learning/Dockertest01:/usr/src/app/uniform/data test env LANG=C.UTF-8 /bin/bash 

具体含义可以参考:【Docker系列】从头学起 Docker------docker run 命令详解_搞什么滚去学习的博客-CSDN博客x

现在CMD界面为:

即创建成功,可以试一试调用Python,测试torch的cuda是否可用:

3.5 导入权重文件和测试照片到Container并测试Yolov5

在Docker Desktop中浏览Yolov5文件目录,将想要测试的pt权重文件和照片导入:

直接将pt文件和测试照片拖入即可:

运行yolov5进行检测:

复制代码
python detect.py --weights tomato.pt --source xs_4.jpg --conf-thres 0.7

完成:

相关推荐
❀͜͡傀儡师15 分钟前
docker 安装数据集成平台 Apache SeaTunnel 服务
docker·容器
超级小忍43 分钟前
Spring Boot 与 Docker 的完美结合:容器化你的应用
spring boot·后端·docker
B1nna3 小时前
Docker学习
学习·docker·容器
缘友一世3 小时前
网安系列【15】之Docker未授权访问漏洞
docker·容器
FL16238631299 小时前
如何使用目标检测深度学习框架yolov8训练钢管管道表面缺陷VOC+YOLO格式1159张3类别的检测数据集步骤和流程
深度学习·yolo·目标检测
慕木兮人可10 小时前
Docker部署MySQL镜像
spring boot·后端·mysql·docker·ecs服务器
Dymc14 小时前
【目标检测之Ultralytics预测框颜色修改】
人工智能·yolo·目标检测·计算机视觉
armcsdn14 小时前
基于Docker Compose部署Traccar容器与主机MySQL的完整指南
mysql·docker·容器
凌晨两点的菜鸡14 小时前
前端部署-docker
前端·docker
LuckyLay15 小时前
使用 Docker 搭建 Go Web 应用开发环境——AI教你学Docker
前端·docker·golang