本文主要是介绍TSM:Temporal Shift Module for Efficient Video Understanding论文和代码笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章
论文链接
核心思想就是2d来代替3d卷积,减少计算复杂度,这种想法在之前的p3d中使用inception和resnet的思想已经实现过。这里从卷积的数学上出发,分为移动和乘积,在移动过程中找到时序关系,而乘积可以用2d卷积代替
主要操作在于文章图一,实现结构在于文章的图三
代码
代码链接
首先清楚的是在网络的输入是BGR,读取的时候有-1将其反过来,输入的维度是B,C*L,H, W四维的张量。训练过程中采用在imagenet上预训练的resnet101和BNinception网络,实现移动主要是inplace结构的。
在加载预训练网络过程中,resnet重新定义了avgpool和fc层,核心代码在于temporal_shift.py中的,其中TemporalShift函数就是实现inplace移动的代码
import torchvisionif isinstance(net, torchvision
这篇关于TSM:Temporal Shift Module for Efficient Video Understanding论文和代码笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!