模型作用:人脸检测,人脸关键点检测

模型: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 速度慢相关推荐

  1. Vulkan Programming Guide::Chapter1::Overview of VulKan(纵观VulKan)

    VulKan 编程指南::第一章::纵观VulKan 在这一章你将会学习什么 什么是VulKan和背后的原理 如何去创建最简单的VulKan应用 本书会用到的一些专业术语和概念 在这一章我们将会介绍并 ...

  2. Altium Designer导入3D模型出现:cannot load 3D model from file警告

    这可把我给烦的呀,一整天都在想办法解决这个问题,前前后后安装了8遍,愣是在最后一次才解决.软件的安装都显示破解OK,但是一到封装的时候,想导入3D模型,就显示Cannot load 3D model ...

  3. Android的WebView控件载入网页显示速度慢的究极解决方案

    Android的WebView控件载入网页显示速度慢的究极解决方案 [转载来源自http://hi.baidu.com/goldchocobo/] Android客户端中混搭HTML页面,会出现虽然H ...

  4. android的webview控件载入网页显示速度慢的究极解决方案,【转】Android的WebView控件载入网页显示速度慢的究极解决方案...

    Android客户端中混搭HTML页面,会出现虽然HTML内容载入完成,标题也正常显示,但是整个网页需要等到近秒(甚至更多)时间才会显示出来.研究了很久,搜遍了国外很多网站,也看过PhoneGap的代 ...

  5. mxnet编译android,mxnet to ncnn

    问题由来 之前模型移植都是使用mxnet的amalgamation, 单个文件纯c++代码.使用这种方式的好处当然是编译简单无依赖.缺点却也日益突出: mxnet发展迅速,各个版本的模型不一定兼容.使 ...

  6. Android之提示Failed to load WebView provider: No WebView installed

    1 问题 Fatal Exception: android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWeb ...

  7. mac下编译ncnn和ncnn中的pnnx

    前言 在mac编译ncnn的文章很少,尤其m1下就更少了,这里大致将一下我编译ncnn的步骤. 准备工作 1.homebrew,mac必备安装命令,拉取依赖包,类似centos的yum,ubuntu的 ...

  8. 【Android系统】修改设备型号(model)和版本号

    最终写到android的ro属性里面abd shell getprop | grep ro相关文件:build/make/tools/buildinfo.shbuild/make/core/Makef ...

  9. xamarin android 报错 Could not load assembly 'Xamarin.Android.Support.v7.AppCompat

    严重性 代码 说明 项目 文件 行 禁止显示状态 错误 Exception while loading assemblies: System.IO.FileNotFoundException: Cou ...

最新文章

  1. 震惊!这样终止线程,竟然会导致服务宕机?
  2. 简单的介绍一下怎样如何学习Java基础
  3. Android app集成Google Map方法
  4. Android—常用组件练习
  5. 跟熊浩学沟通30讲读后感_怎样提高自己的沟通表达能力
  6. Linux性能监控工具
  7. ES6新特性_ES6函数参数的默认值设置---JavaScript_ECMAScript_ES6-ES11新特性工作笔记011
  8. golang 数据一   (字符串、数组和数组指针)
  9. Java Web开发实战(一)—JDK安装及环境变量配置
  10. JAVA中如何创建一个二维数组,然后给二维数组赋值!
  11. [2018.10.10 T2] 烯烃
  12. ETL数据清洗工具总结
  13. OFFICE 2007 SP3后续补丁微软官方下载地址
  14. 黑马程序员_银行调度系统
  15. 56个民族及民族代码的sql语句
  16. U盘制作成启动盘后容量变小
  17. Easy Unpack
  18. 从专业角度分析国内创客教育发展
  19. 五柳先生传(陶渊明)
  20. chrome浏览器自动填充时背景色改变(-webkit-autofill)

热门文章

  1. 【跟着我们学Golang】Go语言全平台安装
  2. Oracle 11gR2 RAC Service-Side TAF 配置示例
  3. mybatis控制台打印sql
  4. 20165306 第八周学习任务
  5. GitHub+Jenkins持续集成简介
  6. 关于HTML、js加密、混淆、源码保护、代码安全,防止解压直接看源码
  7. JDK的bin目录下各种工具的使用说明_对不起自己,这么久没写博,抱歉
  8. 阿里技术高P访谈之张俭恭:情义是阿里与外企的最大不同
  9. 云ERP系统如何进行流程设计
  10. ffmpeg-URL(转)