关于ncnn使用多个模型的问题

这篇博客介绍了如何在Android应用中实现Yolov5模型的动态加载,以应对不同场景的需求。通过修改Init和Detect方法,可以根据输入参数选择加载并使用相应的模型。在Init阶段,定义了网络、加载网络参数并注册自定义层。在Detect阶段,根据参数判断并设置模型的标签类别及输入输出,从而实现动态选择模型进行物体检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:yolov5部署到android端之后,发现一个模型实现不了全部的功能,初期训练的和后面的标签不一致不过都是yolov5的,感觉可以合并下。这里主要讲述实现加载2个模型,在调用时候动态选择哪个模型

一:Init修改

1:重新定义一个网络

static ncnn::Net yolov51;

2:加载网络参数

yolov51.opt = opt;

3:注册

yolov51.register_custom_layer("YoloV5Focus", YoloV5Focus_layer_creator);

4:加载模型

yolov51.load_param(mgr, "yolov5.param");
yolov51.load_model(mgr, "yolov5.bin");

二:Detect修改(根据输入参数选择使用哪个模型)

1:添加参数

jstring whdetect

2:参数类型转换

const char* chardata = env->GetStringUTFChars(whdetect, 0);
// char* 转 string
std::stri
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值