关于RepKLNet的算法训练和算法总结

代码:https://github.com/megvii-research/RepLKNet
论文:https://arxiv.org/abs/2203.06717

这篇论文,我感觉就是RepVGG的续作

环境搭建:

1、Installation of MegEngine

pip3 install megengine -f https://megengine.org.cn/whl/mge.html --user

2、Installation of BaseCls

pip3 install basecls --user

结果如下(没有报错):
请添加图片描述请添加图片描述
我主要是想测试下速度,但是直接报错:
ImportError: cannot import name ‘Tensor’ from ‘megengine’
在这里插入图片描述
3、分析问题

pip3 install megengine -f https://megengine.org.cn/whl/mge.html --user

我查看了在上述报错命令下的文件,可以看到__init__.py中是存在内容的。

pip3 install basecls --user

但是执行完这句后,上述路径下的__init__.py内容消失了,很奇怪。虽然说basecls是基于megengine的,但是却把__init__.py内容删除了?
这里我先尝试先复制在未安装basecls之前的__init__.py,然后安装完后basecls,再将内容粘贴进去,但是还是报错;再一次,我尝试先安装basecls,再安装megengine,这个也不行,毫无疑问,basecls基于megengine,这样肯定报错。

4、解决问题
安装完megengine后,进入basecls的git:
https://github.com/megvii-research/basecls
我们通过源代码安装,而不通过包安装。

处理imagenet数据集

valprep.sh处理下即可,查看了内容,里面是两种命令:mkdir和mv

模型测试

测试

./main_imagenet_test.py -f configs/replknet31_base_224_pt1k.py -w [weights] batch_size 64 data.val_path /path/to/imagenet/val

测试过程如下:
在这里插入图片描述
速度:120ms/张

算法总结

  1. 用深度可分离卷积(大),底层已优化;

  2. 带shortcut,对大kernel有帮助;

  3. 重参化;(repvgg)

  4. 下游任务吊;

  5. 小的feature map也可以用大卷积;

你可能感兴趣的:(算法,深度学习,pytorch)