- 博客(6)
- 收藏
- 关注
原创 TFLITE计算scale、zero的一些体会
当前工作集中在移动端推理引擎的建设,目前主要在hexagon DSP上;使用自定义模型格式,目前仅支持tflite的转换,为了兼容其余平台,因此在自定义模型格式中使用的是tflite的min、max值,由于在实际计算过程中,需要的是scale和zero,因此需要使用min、max计算得到对应的scale、zero,在其中遇到一些困难,记录下来以便后续使用。由min、max计算得到scale、zero,最重要的一点是调整min或max以使得zero能够被一个整数精确表达,主要是为了在zero paddin
2020-06-21 11:15:47
1064
原创 安装hexagon_SDK后新工程运行的准备
近期在算法的优化工作中,需要用到大尺寸的lookup table的HVX优化,由于HVX v60没有相关指令,所以升级到HVX v65上可以使用vgather指令实现大尺寸的look up table。以前用到的hexagon sdk版本较低,升级到hexagon sdk 3.3.0以便使用v65的相关指令,在升级sdk后新建工程,在build时出现一些问题,即:无法找到dsp_cv.h,下面记录
2017-11-20 19:27:21
1216
原创 HVX优化大尺寸Box Filter的行处理流程
Box Filter 17x17:Box Filter 23x23:Box Filter 35x35:具体的思想是: 利用一行Buffer存储一行中每个像素点的周围nxn box filter后的结果,然后计算下一行的结果时,加上新需要的一行像素的结果,减去最上面一行不需要的结果即可;主要思想其实是复用了两行像素点求box filte
2017-11-17 14:38:50
761
原创 Android NDK编译过程
最近在利用SSE指令集完成BeautyShot的x86架构的移植,工程在vs下优化完成后,需要对其在Android NDK中进行编译获得库文件后,才能在终端设备上运行,因为自己以前没有从来没有接触过Android相关的内容,所以感觉上手起来比较艰难,所幸有同事帮助,终于能够利用Android NDK完成工程的编译NDK编译过程" alt="Android NDK编译过程" src="htt
2017-11-13 19:30:24
382
原创 X86 SSE优化相关技巧
1 无符号8位求差的均值:__m128i p_max = _mm_max_epu8(a, b); __m128i p_min = _mm_min_epu8(a, b); __m128i p_res = _mm_sub_epi8(p_max, p_min); 2 无符号8位做比较运算:无符号8位求(a>b?0xff:0x00)运算:p_max = _mm_max_
2017-11-13 19:28:11
963
原创 解决memory bound算法的一些建议
1、分析算法流程,分析算法中的某些中间是否有能够合并的操作,比如对于图像先进行下采样,然后再上采样存储到原始中,类似这种的操作都可以合并操作,直接在进行下采样之后不需要另外存储图像,直接进行上采样,这样就可以合并操作,减少内存的来回读写操作。2、利用pthread的affinity功能,把算法的主要线程均匀affinity到主要的处理器核上;不使用CPU自主分配,自主控制线程的处理方式。3
2017-11-13 19:10:11
2726
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人