Files
FastDeploy/examples/application/go/yolov5/README_CN.md
wanziyu b1d2903b93 [PaddlePaddle Hackathon4 No.186] Add PaddleDetection Models Deployment Go Examples (#1648)
* [PaddlePaddle Hackathon4 No.186] Add PaddleDetection Models Deployment Go Examples

Signed-off-by: wanziyu <ziyuwan@zju.edu.cn>

* Fix YOLOv8 Deployment Go Example

Signed-off-by: wanziyu <ziyuwan@zju.edu.cn>

---------

Signed-off-by: wanziyu <ziyuwan@zju.edu.cn>
Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com>
2023-03-28 20:30:03 +08:00

2.1 KiB
Raw Blame History

English | 简体中文

YOLOv5 Golang 部署示例

本目录下提供infer.go, 使用CGO调用FastDeploy C API快速完成YOLOv5模型在CPU/GPU上部署的示例

在部署前,需确认以下两个步骤

以Linux上推理为例在本目录执行如下命令即可完成编译测试支持此模型需保证FastDeploy版本1.0.4以上(x.x.x>1.0.4)或FastDeploy的Develop版本(x.x.x=0.0.0)

使用Golang和CGO工具进行YOLOv5模型推理部署

在当前目录下下载FastDeploy预编译库用户可在上文提到的FastDeploy预编译库中自行选择合适的版本使用

wget https://fastdeploy.bj.bcebos.com/dev/cpp/fastdeploy-linux-x64-0.0.0.tgz
tar xvf fastdeploy-linux-x64-0.0.0.tgz

将FastDeploy C API文件拷贝至当前目录

cp -r fastdeploy-linux-x64-0.0.0/include/fastdeploy_capi .

下载官方转换好的 YOLOv5 ONNX 模型文件和测试图片

wget https://bj.bcebos.com/paddlehub/fastdeploy/yolov5s.onnx
wget https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg

配置infer.go中的cgo CFLAGS: -I参数配置为C API文件路径cgo LDFLAGS: -L参数配置为FastDeploy的动态库路径动态库位于预编译库的/lib目录中

cgo CFLAGS: -I./fastdeploy_capi
cgo LDFLAGS: -L./fastdeploy-linux-x64-0.0.0/lib -lfastdeploy

将FastDeploy的库路径添加到环境变量

source /Path/to/fastdeploy-linux-x64-0.0.0/fastdeploy_init.sh 

编译Go文件infer.go

go build infer.go

编译完成后,使用如下命令执行可得到预测结果

# CPU推理
./infer -model yolov5s.onnx -image 000000014439.jpg -device 0
# GPU推理
./infer -model yolov5s.onnx -image 000000014439.jpg -device 1

可视化的检测结果图片保存在本地vis_result.jpg