使用yolov8的dockerfile在ubuntu上部署环境

使用dockerfile在ubuntu上部署环境

  1. 首先进入doceker文件夹 cd yolov8/ultralytics-main/docker
    在这里插入图片描述

  2. 执行命令docker build -t yolov8:v1 .
    yolov8:v1(镜像名称:镜像标签,可以自己定义)
    注意点:
    (1)原docekerfile中ADD https://ultralytics.com/assets/Arial.ttf https://ultralytics.com/assets/Arial.Unicode.ttf /root/.config/Ultralytics/下载很慢,可以在外部下载好,放入docker文件夹中,再将源代码改为ADD Arial.ttf Arial.Unicode.ttf /root/.config/Ultralytics/
    (2)可在RUN pip install --no-cache ultralytics albumentations comet gsutil notebook \ coremltools onnx onnx-simplifier onnxruntime openvino-dev>=2022.3加上镜像源-i https://pypi.tuna.tsinghua.edu.cn/simple

  3. 通过docker ps -a查看容器ID,例如:f4f9d5

### 安装和配置YOLOv1进行目标检测 #### 准备工作 为了在Ubuntu 20.04上成功部署YOLOv1,需要先准备好开发环境。考虑到环境配置的复杂度以及一致性维护的需求,推荐使用Docker来构建所需的运行时环境[^1]。 #### Docker镜像准备 创建一个适合YOLOv1的Dockerfile文件,该文件定义了用于安装依赖项并设置YOLOv1所需的一切指令。对于CUDA支持下的深度学习框架来说,NVIDIA提供了官方优化过的基础镜像,这可以作为起点: ```dockerfile FROM nvidia/cuda:11.7.0-base-ubuntu20.04 RUN apt-get update && \ apt-get install -y --no-install-recommends \ build-essential \ cmake \ git \ libopencv-dev \ python3-pip \ python3-setuptools \ python3-wheel \ wget && \ rm -rf /var/lib/apt/lists/* WORKDIR /app COPY . . RUN pip3 install -r requirements.txt CMD ["bash"] ``` 此段脚本基于带有CUDA 11.7支持的Ubuntu 20.04镜像,并安装了一些必要的软件包,包括OpenCV库及其Python绑定、Git版本控制系统以及其他可能被YOLOv1项目所使用的工具或库。 #### YOLOv1源码获取与编译 通过克隆Darknet仓库获得YOLOv1的具体实现代码。需要注意的是,在执行`make`命令之前应当修改Makefile中的某些选项以适应个人硬件条件(比如是否开启GPU加速等): ```shell git clone https://github.com/pjreddie/darknet.git cd darknet sed -i 's/GPU=0/GPU=1/' Makefile sed -i 's/CUDNN=0/CUDNN=1/' Makefile make ``` 以上命令序列完成了从GitHub拉取darknet项目的操作,并针对具有CUDA和cuDNN支持的情况调整了编译参数,最后调用了GNU make来进行实际编译过程[^2]。 #### 配置PyTorch环境 虽然YOLOv1主要由C语言编写并通过Darknet框架提供接口访问,但在现代应用中往往还需要配合其他机器学习平台一起工作。因此,建立一个兼容性强且功能完备的PyTorch环境是非常有帮助的。可以通过pip工具轻松完成这项任务: ```shell pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 ``` 这条语句指定了额外索引URL指向包含特定于CUDA 11.7版本预编译二进制文件的位置,从而确保能够顺利安装适用于当前系统的PyTorch发行版[^4]。 #### 测试模型性能 一旦所有前期准备工作都已完成,则可以根据需求加载预训练权重并对自定义数据集实施预测分析。通常情况下,只需指定相应的配置文件路径(.cfg),类别名称列表(.names)以及权重文件(.weights): ```python import cv2 as cv from darknet import Darknet, detect_cv2_image model = Darknet('cfg/yolov1.cfg') model.load_weights('yolov1.weights') image = cv.imread('data/dog.jpg') # 替换成自己的图片路径 detections = detect_cv2_image(model, image) for detection in detections: label, confidence, bbox = detection print(f'{label}: {confidence:.2f} at {bbox}') ``` 上述Python片段展示了如何利用已有的YOLOv1模型结构描述文档(cfg)读入网络架构信息;接着借助`.load_weights()`方法导入事先训练好的参数值;最终实现了对输入图像的目标识别流程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值