Fastdeploy快速部署YOLOv8模型(含安装教程及源码)

本文介绍了FastDeploy,一种高效的AI推理部署工具,它支持多种硬件和操作系统。作者分享了安装教程、遇到的问题及解决方案,并给出了YOLOv8模型部署的实例。
摘要由CSDN通过智能技术生成

前言:

本文为笔者最近两天尝试使用FastDeploy进行一个快速的模型部署实践下面简单介绍一下关于FastDeploy是什么,相较于传统部署的优势,装的时候遇到的小问题,最后还有安装的教程以及简单的部署实战。

FastDeploy一个低门槛,时间快,可以做到一次训练,一套模型,随处部署,运用灵活,拓展性强大的一款高效的AI推理部署工具,覆盖当前大部分热门的部署项目,覆盖各大主流硬件NVIDIA ,intel等,4类操作系统Windows,Linux,Android,iOS.不同架构平台设备,轻松部署,所以Fastdeploy的优势不言而喻

FastDeploy GitHub链接:https://github.com/PaddlePaddle/FastDeploy/tree/develop

接下来是Fastdeploy的快速安装

安装前的要求:

  • CUDA >= 11.2、cuDNN >= 8.0、Python >= 3.6
  • OS: Linux x86_64/macOS/Windows 10     (win11也是可以的)

FastDeploy的安装 

安装GPU版本
pip install numpy opencv-python fastdeploy-gpu-python -f https://www.paddlepaddle.org.cn/whl/fastdeploy.html
安装CPU版本
pip install numpy opencv-python fastdeploy-python -f https://www.paddlepaddle.org.cn/whl/fastdeploy.html
conda安装(推荐)
conda config --add channels conda-forge && conda install cudatoolkit=11.2 cudnn=8.2
注:conda安装完可能遇到的问题(没遇到可忽略)

这里有一点需要注意如果说你在conda的虚拟环境里面成功装了CUDA11.2 最后运行告诉你FastDeploy 仍然无法正确识别你的 CUDA 路径就需要手动添加一下

解决方法:因为之前笔者的电脑装过CUDA12.1版本,这里做个解决演示

首先找到装到虚拟环境里的CUDA11.2的位置,这个一般直接在Anaconda如红箭头所示的位置pkgs这个文件夹里,点击然后复制好这个路径

接着把环境路径改一下(建议先把之前用的CUDA路径备份截个图,防止后面要改)

好了这就可以解决了!(没有遇到这个问题的可以直接忽略这个)

FastDeploy部署示例

这里笔者提供官网下载的模型(x和n模型),一张预测图片,和一个简单部署代码示例

模型预测图片百度网盘链接(含图)

链接:https://pan.baidu.com/s/14Hs9oMtrx-4GNVuMx-EQ2w 
提取码:yyds

如果是自己的pt文件要转onnx的可以看笔者另一篇博客链接:YOLOv8模型转换pt->onnx(附上代码)

原始图片如下:

 

简单的部署示例(代码)

使用的例子是YOLOv8x的模型

import fastdeploy as fd
import cv2


def build_option():
    option = fd.RuntimeOption()
    option.use_gpu()
    return option


# 配置运行时环境,加载模型
runtime_option = build_option()
model = fd.vision.detection.YOLOv8('D:/Web page download/yolov8x.onnx', runtime_option=runtime_option)

# 读取图像并进行预测
image_path = 'D:/Web page download/111.png'  # 图片路径
image = cv2.imread(image_path)
result = model.predict(image)

# 可视化结果
vis_frame = fd.vision.vis_detection(image, result)

# 显示图像
cv2.imshow("Frame", vis_frame)

while True:

    # 按下 'q' 键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        cv2.imwrite('result.png', vis_frame) #图像保存在当前文件夹下
        break


# 释放窗口
cv2.destroyAllWindows()

进行了一个简单的图像预测并且在按下q健后释放窗口并把图片保存在了当前文件夹下

结果如图所示

至此,Fastdeploy部署YOLOv8模型的一个样例结束,也可以换成调用摄像头。。

import fastdeploy as fd
import cv2


def build_option():
    option = fd.RuntimeOption()
    option.use_gpu()
    return option


runtime_option = build_option()
model = fd.vision.detection.YOLOv8('D:/Web page download/yolov8x.onnx', runtime_option=runtime_option)

cap = cv2.VideoCapture(0)

while True:

    ret, frame = cap.read()

    if not ret:
        break

    result = model.predict(frame)

    vis_frame = fd.vision.vis_detection(frame, result)

    cv2.imshow("Frame", vis_frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

好了,小白的一天学习成果就是这些,若有问题恳请大家指出,非常感谢>.<

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值