【Android-NCNN-Vulkan】ncnn-vulkan load param model 速度慢
模型作用:人脸检测,人脸关键点检测
模型:fd.param fd.model,fl.param fl.model
设备1:ARM A53 2.0GHz, IMG GE 8300
OnePlus6T :Snapdragon 845, Adreno 630
FD Param | FD Model | FL Param |
FL Model |
|
size | 10kb | 509.6kb | 46kb | 2.5mb |
FD Param | FD Model | FL Param |
FL Model |
|
设备1(FD-CPU & FL-CPU) | 1.6ms | 17.1ms | 5.0ms | 10.0ms |
设备1(FD-GPU & FL-GPU) | 32.7s | 56.1s | 32.6s | 83.4s |
OnePlus6T(FD-CPU & FL-CPU) | 3.8ms | 21.3ms | 6.5ms | 22.8ms |
OnePlus6T(FD-GPU & FL-GPU) | 4.8s | 13.3s | 4.9s | 19.7s |
Load Param/Model 高耗时问题,主要有两个操作
- 代码定位pipeline.cpp 469行:
VkResult ret = vkCreateComputePipelines(vkdev->vkdevice(), 0, 1, &computePipelineCreateInfo, 0, &pipeline);
- 代码定位pipeline.cpp 98行:
int ret = resolve_shader_info(spv_data, spv_data_size, si);
- 关于 vkCreateComputePipelines 的操作
- 目前该操作占据运算时间45%
- 且在create pipeline过程中调用次数非常多,本身耗时在设备1上超过10ms
- 如何优化该函数?
- 关于 resolve_shader_info(在线编译)的操作
- 目前该操作占据运算时间45%
- 优化方案一:采用shader的离线编译,OnePlus6T上显示能够提升5倍的速度;
- 优化方案二:在离线基础上,计划通过删除没有用到的shader来加快pipeline的创建;
- 优化方案三:加入pipecache机制,同比之前 load param 降低 8s,load model降低50-80s,pipeline cache效果很明显
- 单独Load FL model (GPU)
- Load FD(GPU) & FL(GPU)
- Load FD(CPU) & FL(CPU)
【Android-NCNN-Vulkan】ncnn-vulkan load param model 速度慢相关推荐
- Vulkan Programming Guide::Chapter1::Overview of VulKan(纵观VulKan)
VulKan 编程指南::第一章::纵观VulKan 在这一章你将会学习什么 什么是VulKan和背后的原理 如何去创建最简单的VulKan应用 本书会用到的一些专业术语和概念 在这一章我们将会介绍并 ...
- Altium Designer导入3D模型出现:cannot load 3D model from file警告
这可把我给烦的呀,一整天都在想办法解决这个问题,前前后后安装了8遍,愣是在最后一次才解决.软件的安装都显示破解OK,但是一到封装的时候,想导入3D模型,就显示Cannot load 3D model ...
- Android的WebView控件载入网页显示速度慢的究极解决方案
Android的WebView控件载入网页显示速度慢的究极解决方案 [转载来源自http://hi.baidu.com/goldchocobo/] Android客户端中混搭HTML页面,会出现虽然H ...
- android的webview控件载入网页显示速度慢的究极解决方案,【转】Android的WebView控件载入网页显示速度慢的究极解决方案...
Android客户端中混搭HTML页面,会出现虽然HTML内容载入完成,标题也正常显示,但是整个网页需要等到近秒(甚至更多)时间才会显示出来.研究了很久,搜遍了国外很多网站,也看过PhoneGap的代 ...
- mxnet编译android,mxnet to ncnn
问题由来 之前模型移植都是使用mxnet的amalgamation, 单个文件纯c++代码.使用这种方式的好处当然是编译简单无依赖.缺点却也日益突出: mxnet发展迅速,各个版本的模型不一定兼容.使 ...
- Android之提示Failed to load WebView provider: No WebView installed
1 问题 Fatal Exception: android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWeb ...
- mac下编译ncnn和ncnn中的pnnx
前言 在mac编译ncnn的文章很少,尤其m1下就更少了,这里大致将一下我编译ncnn的步骤. 准备工作 1.homebrew,mac必备安装命令,拉取依赖包,类似centos的yum,ubuntu的 ...
- 【Android系统】修改设备型号(model)和版本号
最终写到android的ro属性里面abd shell getprop | grep ro相关文件:build/make/tools/buildinfo.shbuild/make/core/Makef ...
- xamarin android 报错 Could not load assembly 'Xamarin.Android.Support.v7.AppCompat
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 Exception while loading assemblies: System.IO.FileNotFoundException: Cou ...
最新文章
- 震惊!这样终止线程,竟然会导致服务宕机?
- 简单的介绍一下怎样如何学习Java基础
- Android app集成Google Map方法
- Android—常用组件练习
- 跟熊浩学沟通30讲读后感_怎样提高自己的沟通表达能力
- Linux性能监控工具
- ES6新特性_ES6函数参数的默认值设置---JavaScript_ECMAScript_ES6-ES11新特性工作笔记011
- golang 数据一 (字符串、数组和数组指针)
- Java Web开发实战(一)—JDK安装及环境变量配置
- JAVA中如何创建一个二维数组,然后给二维数组赋值!
- [2018.10.10 T2] 烯烃
- ETL数据清洗工具总结
- OFFICE 2007 SP3后续补丁微软官方下载地址
- 黑马程序员_银行调度系统
- 56个民族及民族代码的sql语句
- U盘制作成启动盘后容量变小
- Easy Unpack
- 从专业角度分析国内创客教育发展
- 五柳先生传(陶渊明)
- chrome浏览器自动填充时背景色改变(-webkit-autofill)