Winograd快速卷积算法,能够实现3x3或5x5 Conv2D的有效加速,具体可参考Intel的介绍:
https://ai.intel.com/winograd-2/ <https://ai.intel.com/winograd-2/>

"Efficient Sparse-Winograd Convolutional Neural
Networks"这篇文章将ReLU引入到Winograd域,获得了Activations在Winograd域的动态稀疏度,并在Winograd域对权重剪枝,获得了权重在Winograd域的静态稀疏度,进而将Winograd变换与网络剪枝相结合,有效实现了稀疏加速:



该算法的优点:用CUDA自定义了底层TensorFlow OP,支持3x3
Conv2D(stride=1);缺点:主要存在一定的局限性,首先需要借助pooling实现降采样,其次暂不支持其他尺寸的Conv2D,且权重定义在winograd域,不方便预训练模型的使用,通常需要train
from scratch(裸训),收敛速度较慢。

基于Sparse-Winograd CNN,Resnet18在ImageNet 2012上的训练过程如下(TensorPack作为训练平台):



详细内容请参考如下链接:

Paper地址:https://arxiv.org/abs/1802.06367 <https://arxiv.org/abs/1802.06367>

GitHub地址:https://github.com/xingyul/Sparse-Winograd-CNN
<https://github.com/xingyul/Sparse-Winograd-CNN>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信