当前位置: 首页 > wzjs >正文

做网站属于什么费用企业营销

做网站属于什么费用,企业营销,河南平台网站建设公司,wordpress 邀请码注册衔接一、本文的目标 将yolo8-pose例子适配安卓端,提供选择图片后进行姿态识别功能。通过项目学习源码和rknn api。二、开发环境说明 主机系统:Windows 11目标设备:搭载RK3588芯片的安卓开发板核心工具:Android Studio Koala | 2024.1.1 Patch 2,NDK 27.0三、适配(迁移)安卓 …

一、本文的目标

  • 将yolo8-pose例子适配安卓端,提供选择图片后进行姿态识别功能。
  • 通过项目学习源码和rknn api。

二、开发环境说明

  • 主机系统:Windows 11
  • 目标设备:搭载RK3588芯片的安卓开发板
  • 核心工具:Android Studio Koala | 2024.1.1 Patch 2,NDK 27.0

三、适配(迁移)安卓

有了前两次的迁移经验,这次就很顺利了。可以参考之前三篇文章,如果还是遇到问题(或者需要源码),给我留言。
Yolo8-pose C语言例子请参考之前的博文《RK3588芯片NPU的使用:Windows11 Docker中编译YOLOv8-Pose C Demo并在开发板运行实践》。
将C Demo移植到安卓应用端的相关知识,请参考博文《手把手部署YOLOv5到RK3588安卓端:NPU加速与JNI/C/Kotlin接口开发指南》。
上一次移植,请参考《RK3588芯片NPU的使用:PPOCRv4例子在安卓系统部署》,解决图像格式问题,很重要。

四、重要源码解析

4.1 init_yolov8_pose_model方法

本函数主要任务是YOLOv8模型在RKNN框架下的初始化、属性查询和配置保存。
函数源码如下:

int init_yolov8_pose_model(const char *model_path, rknn_app_context_t *app_ctx)
{int ret;// 1.初始化RKNN上下文rknn_context ctx = 0;ret = rknn_init(&ctx, (char *)model_path, 0, 0, NULL);if (ret < 0){printf("rknn_init fail! ret=%d\n", ret);return -1;}// 2.查询模型的输入输出数量rknn_input_output_num io_num;ret = rknn_query(ctx, RKNN_QUERY_IN_OUT_NUM, &io_num, sizeof(io_num));if (ret != RKNN_SUCC){printf("rknn_query fail! ret=%d\n", ret);return -1;}printf("model input num: %d, output num: %d\n", io_num.n_input, io_num.n_output);// 3.获取输入张量属性printf("input tensors:\n");rknn_tensor_attr input_attrs[io_num.n_input];memset(input_attrs, 0, sizeof(input_attrs));for (int i = 0; i < io_num.n_input; i++){input_attrs[i].index = i;ret = rknn_query(ctx, RKNN_QUERY_INPUT_ATTR, &(input_attrs[i]), sizeof(rknn_tensor_attr));if (ret != RKNN_SUCC){printf("rknn_query fail! ret=%d\n", ret);return -1;}dump_tensor_attr(&(input_attrs[i]));}// 4.获取输出张量属性printf("output tensors:\n");rknn_tensor_attr output_attrs[io_num.n_output];memset(output_attrs, 0, sizeof(output_attrs));for (int i = 0; i < io_num.n_output; i++){output_attrs[i].index = i;ret = rknn_query(ctx, RKNN_QUERY_OUTPUT_ATTR, &(output_attrs[i]), sizeof(rknn_tensor_attr));if (ret != RKNN_SUCC){printf("rknn_query fail! ret=%d\n", ret);return -1;}dump_tensor_attr(&(output_attrs[i]));}// 5.保存配置到应用上下文app_ctx->rknn_ctx = ctx;// 6.判断模型是否量化:检查第一个输出张量是否是非FP16的仿射量化类型,设置is_quant标志,用于后续反量化处理。if (output_attrs[0].qnt_type == RKNN_TENSOR_QNT_AFFINE_ASYMMETRIC && output_attrs[0].type != RKNN_TENSOR_FLOAT16){app_ctx->is_quant = true;}else{app_ctx->is_quant = false;}// 7. 复制输入输出属性到应用上下文:动态分配内存并拷贝输入输出属性,保存到app_ctx以便后续访问。app_ctx->io_num = io_num;app_ctx->input_attrs = (rknn_tensor_attr *)malloc(io_num.n_input * sizeof(rknn_tensor_attr));memcpy(app_ctx->input_attrs, input_attrs, io_num.n_input * sizeof(rknn_tensor_attr));app_ctx->output_attrs = (rknn_tensor_attr *)malloc(io_num.n_output * sizeof(rknn_tensor_attr));memcpy(app_ctx->output_attrs, output_attrs, io_num.n_output * sizeof(rknn_tensor_attr));// 8. 解析输入张量维度if (input_attrs[0].fmt == RKNN_TENSOR_NCHW){printf("model is NCHW input fmt\n");app_ctx->model_channel = input_attrs[0].dims[1];app_ctx->model_height = input_attrs[0].dims[2];app_ctx->model_width = input_attrs[0].dims[3];}else{printf("model is NHWC input fmt\n");app_ctx->model_height = input_attrs[0].dims[1];app_ctx->model_width = input_attrs[0].dims[2];app_ctx->model_channel = input_attrs[0].dims[3];}printf("model input height=%d, width=%d, channel=%d\n",app_ctx->model_height, app_ctx->model_width, app_ctx->model_channel);return 0;
}

4.1.1 rknn_init初始化

rknn_init初始化函数功能为创建rknn_context对象、加载RKNN模型以及根据flag和rknn_init_extend结构体执行特定的初始化行为。
函数原型

int rknn_init(rknn_context* context,      // 输出参数:返回的 RKNN 上下文句柄void* model,                // 输入参数:模型数据或模型文件路径uint32_t size,              // 输入参数:模型数据的大小(字节数)uint32_t flag,              // 输入参数:初始化标志位(扩展选项)rknn_in
http://www.dtcms.com/wzjs/427446.html

相关文章:

  • 微信红包建设网站百度企业号
  • 网站建设 百度云域名注册平台哪个好
  • java做网站开发书站内推广方案
  • 做模式网站北京seo百科
  • 邹城市住房和建设局网站dz论坛seo
  • 以下属于网站的管理 更新 维护营销推广策划方案范文
  • 企业网站布局优化防疫政策
  • ftp下的内部网站建设seo建站系统
  • 网站做备案需要多久说说seo论坛
  • 求职简历模板2021淄博seo网络公司
  • 品牌网站建设怎么收费百度官方电话号码
  • 网站建设运营方案网络软文广告
  • 网站建设公司南宁软文撰写公司
  • 苏州网站建设网络网页设计案例
  • wordpress怎么改登陆地址宁波seo怎么做推广渠道
  • 亚马逊卖家做自己网站全渠道营销
  • 做网站的属于什么专业怎么给自己的网站设置关键词
  • 可以做设计的网站seo推广优化平台
  • 系统搭建方案青岛百度seo
  • 晋江企业网站开发百度刷排名seo
  • 武汉营销型网站制作公司一个网站可以优化多少关键词
  • 秦皇岛 网站域名收录查询工具
  • 政府类网站的设计特点seo怎么做整站排名
  • 北京专业网站制作免费seo免费培训
  • 怎么用织梦做购物网站百度免费推广登录入口
  • 公众号怎么开绍兴seo推广
  • 广州网络兼职网站建设网络软文发布
  • 龙之向导免费网站网络精准推广
  • 北京网站建设报价表百度收录的网站
  • 时时彩网站建设费用北京网站优化常识