shufflenetv2_3d适配工作

shufflenetv2

这里这一步工作实际上相对比以前简单些,因为pytorch1.1之后开辟了hub,这样有很多模型都可以从这里找到,虽然是只有2d的模型,因为有过之前的经验所以说做inflate 3d这一块相对而言比较简单。
shufflenetv2如果不清楚可以看看超链接的介绍,v2对v1相比而言,有很大的新改动。

shufflenetv2的核心思想

其实其中的核心就是channel shuffle以及cahnnel group,这一块虽然这个网络用的是batchnorm,如果结合groupnorm来做可能效果会更好一些,这个到后续在进行操作。目前只是单纯实现了shufflenetv2从2d到3d的扩充,做法很简单。
在ShuffleNet v2的文章中作者指出现在普遍采用的FLOPs评估模型性能是非常不合理的,因为一批样本的训练时间除了看FLOPs,还有很多过程需要消耗时间,例如文件IO,内存读取,GPU执行效率等等。作者从内存消耗成本,GPU并行性两个方向分析了模型可能带来的非FLOPs的行动损耗,进而设计了更加高效的ShuffleNet v2。ShuffleNet v2的架构和DenseNet[4]有异曲同工之妙,而且其速度和精度都要优于DenseNet。
总的来说就是内存消耗成本大大减少了,但是经过本机测试还是挺耗时的,这个可能只能借鉴一下其中的思想以便后续使用。

shufflenet3d的工程

这个是我自己改的工程,做法确实很简单,然后因为官方还提供了imagenet预训练模型,这样相对而言我们做inflate也好做。看看后续能不能用这个做点额外工作吧。

你可能感兴趣的:(shufflenetv2_3d适配工作)