超分辨率重建
文章平均质量分 79
sandmangu
这个作者很懒,什么都没留下…
展开
-
OpenVINO 2021r1 超分辨率重建 INT8量化 - Waifu2x
接下来试试超分INT8量化, 还是拿我首先又毫无意外的掉进坑里了... ...本来系统里已经装好了OpenVINO 2021r2, 想直接从这个版本开始,先安装accuracy_checker和pot的最新版本到openvino_2021\deployment_tools\open_model_zoo\tools\accuracy_checker目录下运行python setup.py install安装成功,再到openvino_2021\deployment_tools\.原创 2021-03-10 16:27:14 · 1576 阅读 · 10 评论 -
OpenVINO 2021r2 C++ 超分辨率重建 Waifu2x
最后试一下waifu2x, 因为我一直都喜欢waifu2x, 觉得他们家的超分算法在动画图像上的效果真的很惊艳,很久以前体验过windows版本,那时候机器又破,还用的是电脑上的caffe框架,超分个图片慢如老牛拉车。现在正好试试OpenVINO能不能加个速。先从https://github.com/lltcggie/waifu2x-caffe/releases/tag/1.2.0.4 下载一个release包 waifu2x-caffe.zip所有的模型放在models目录下,这里用了u...原创 2021-02-01 15:43:45 · 1198 阅读 · 6 评论 -
OpenVINO 2021r2 C++ 超分辨率重建DBPN
想多看看OpenVINO 2021r2对各种SR模型计算层的支持怎么样,再试一下DBPN, 这个是NTIRE2018超分8倍的冠军, 只随便测试一下2X的模型从网上找了个基于caffe的模型 https://github.com/alterzero/DBPN-caffe caffe是个非常老的框架了 OpenVINO应该支持的非常好了.关于推理数据的预处理和后处理,从原项目可以看出就是简单的除以255.0和乘以255.0 %% work on illuminance o...原创 2021-02-01 15:43:16 · 334 阅读 · 0 评论 -
OpenVINO 2021r2 C++ 超分辨率重建EDSR
接下来试试EDSR,NTIRE2017 超分辨率挑战赛的第一名https://github.com/achie27/super-resolution原创 2021-02-01 11:57:55 · 757 阅读 · 0 评论 -
OpenVINO 2021r2 C++ 超分辨率重建FSRCNN
最近把OpenVINO升级到了最新版本(超级不喜欢openvino这点,每次升级都要换几个接口,虽说API会向前兼容几个版本,不过跟起来真累啊,OpenCV, FFMPEG也是这样,是不是开源项目都是这么玩的啊... ) 顺便来试试看最新版本的OpenVINO对图像超分的模型支持的怎么样。先从FSRCNN 开始,毕竟这是图像超分的经典模型,运算量小推理速度快,超分效果又好。...原创 2021-01-28 14:15:06 · 1600 阅读 · 0 评论 -
MKL-DNN学习笔记 (八)DRRN超分辩率推理代码的实现
前面实现了DRRN所需的各个层的MKL-DNN代码模块,接下来就是用各种模块来搭积木了。对《纯C++超分辨率重建DRRN --改编》的程序改写的时候要注意几点1. 原来程序里的vl_BatchNorm+vl_Scale+vl_ReLU, 现在可以用一个BatchNorm来代替2. 原来的vl_nnconv, 现在要改成Reorder+Convolution+Reorder来获得最...原创 2019-10-14 15:51:41 · 752 阅读 · 2 评论 -
MKL-DNN学习笔记 (七) Post-ops操作
MKL-DNN优化技术里,有一个很重要的技术就是层融合(Layer Fusion)所谓的Layer fusion, 就是把好几层的计算合并成一层的操作里,例如下图左边的计算一共包含了3层Convolution+Sum+ReLU, 每层之间都包含了输入数据和输出数据的读写。通过读取观察每层输出的数据,我们也可以知道神经网络每层到底做了些什么,但是实际应用中我们只关心神经网络最开始的输入数据和最终...原创 2019-10-12 13:48:53 · 1250 阅读 · 0 评论 -
MKL-DNN学习笔记 (六) 实现BatchNorm层
接下来实现基于MKL-DNN的BN层先复习一下BatchNorm层的计算公式这个公式里mean为均值,var为方差,scale为缩放因子,shift是平移值epsilon为一个常数,通常默认值为0.001或者可以在网络模型里读出来,主要用来防止出现方差var=0的时候出现除零错误而添加进去的在 纯C++超分辨率重建DRRN --改编--(二)归一化(BatchNorm) 和 缩...原创 2019-10-12 12:46:11 · 965 阅读 · 0 评论 -
MKL-DNN学习笔记 (五) 实现Conv层的快速计算
上一篇我们实现了利用mkldnn做最基本的卷积计算的代码从mkldnn文档里的这篇文章 Understanding Memory Formats里描述了memory对象的几种基本内存排列格式和类型我们目前基于memory::format_tag::nhwc定义的内存对象的数据在内存中排列方式如下图所示但是mkldnn更推荐我们创建基于blocked layout的内存对象,据称这样...原创 2019-10-11 15:31:23 · 2707 阅读 · 0 评论 -
MKL-DNN学习笔记 (四) Conv层的代码实现和分析
接下来实现卷积层Conv的计算为了简单起见,我用了一个N=1,C=2,H=W=5的输入。同时卷积层kernel大小KH = 3, KW = 3, IC=OC=2。 const int N = 1, H = 5, W = 5, C = 2; const int IC = C, OC = IC, KH = 3, KW = 3;这样可以用手工计算卷积的结果来比较mkldnn的输出,...原创 2019-10-11 11:21:33 · 1747 阅读 · 7 评论 -
MKL-DNN学习笔记 (三) ReLU层的代码实现和分析
ReLU层的实现相对比较简单,第一篇文章里用到的cpu_getting_started.cpp实际上就是一个ReLU的实现。所以我们只要分析一下这部分代码就可以了,正好借着这个机会看看整个mkldnn编程的思路官方mkldnn的开发文档可以在这里看到https://intel.github.io/mkl-dnn/整个代码的流程如下可以看到整个mkldnn的开发思路都是任何对象(例...原创 2019-10-10 15:36:31 · 1690 阅读 · 0 评论 -
MKL-DNN学习笔记 (二) 超分辨率推理模型的选择 - DRRN
一切不结合实践的理论文章都是耍流氓!!!所以这里学习MKL-DNN的最终目的是把mkldnn放到一个实际的超分辨率推理应用中去做加速。这里我选中了下面这篇文章的DRRN模型推理加速来做我这次学习的最终目的纯C++超分辨率重建DRRN --改编DRRN的网络架构如下(图片来自DRRN的论文, 地址 http://cvlab.cse.msu.edu/pdfs/Tai_Yang_Liu_CV...原创 2019-10-10 14:38:54 · 905 阅读 · 0 评论 -
MKL-DNN学习笔记 (一) windows下环境配置和编译sample
最近在研究超分辨率重建的推理加速,需要用到一些加速算法库。CPU下面要用到MKL-DNN的加速库,网上能找到的资源不多,这里把我学习的心得记录一下,给大家做个参考.。MKL-DNN的官方网址在这里https://github.com/intel/mkl-dnn它是由Intel开发和维护的一个开源算法库,应该很多代码是出自Intel另一个闭源算法库mkl。从其他地方看到这个库NB的...原创 2019-10-10 12:06:20 · 3174 阅读 · 4 评论