mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 17:17:14 +08:00

* add java examples * fix detail * fix pre-config --------- Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com>
2.1 KiB
2.1 KiB
English | 简体中文
YOLOv8 Java 部署示例
本目录下提供java/InferDemo.java
, 使用Java
调用C++
API快速完成PaddleDetection
模型YOLOv8
在Linux上部署的示例。
在部署前,需确认以下两个步骤
-
- 软硬件环境满足要求,参考FastDeploy环境要求
-
- 根据开发环境,下载预编译部署库和samples代码,参考FastDeploy预编译库
使用Java
调用C++
API 可以分为两步:
- 在
C++
端生成动态链接库。 - 在
Java
端调用动态链接库。
C++端生成动态链接库
首先,切换路径到cpp
目录,将jdk
目录下的jni.h
和jni_md.h
拷贝到当前cpp
目录下。
cp /PathJdk/jdk-17.0.6/include/jni.h ./
cp /Pathjdk/jdk-17.0.6/include/linux/jni_md.h ./
接着,在cpp
目录下执行以下命令,进行编译,生成动态链接库。
注意:编译时需要通过
FASTDEPLOY_INSTALL_DIR
选项指明FastDeploy
预编译库位置, 当然也可以是自己编译的FastDeploy
库位置。
mkdir build && cd build
cmake .. -FASTDEPLOY_INSTALL_DIR /fast-deploy-path
make -j
编译成功后,动态链接库会存放在cpp/build
目录下,Linux
下以.so
结尾,Windows
下以.dll
结尾。
使用JAVA调用动态链接库
切换路径到java
目录下,将FastDeploy
的库路径添加到环境变量,注意替换为自己的FastDeploy
库所在路径。
source /Path/to/fastdeploy-linux-x64-0.0.0/fastdeploy_init.sh
下载YOLOv8模型文件和测试图片
wget https://bj.bcebos.com/paddlehub/fastdeploy/yolov8s.onnx
wget https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg
编译Java文件
javac InferDemo.java
编译完成后,执行如下命令可得到预测结果,其中第一个参数指明下载的模型路径,第二个参数指明测试图片路径。
java InferDemo ./yolov8s.onnx ./000000014439.jpg
可视化的检测结果图片保存在本地vis_result.jpg
。