Part1:论文阅读与视频学习
一、ShuffleNet V1 & V2
1.ShuffleNet V1
核心思想:
利用如下trick修改原来的ResNet单元,使得运算更高效:
- PointWise Group Convolution
- Channel Shuffle
- DepthWise Separable Convolution
shuffleNet 的 unit 设计如下:
2.ShuffleNet V2
整体网络结构:
最终精度指标:
可以看到,在同等条件下,ShuffleNetv2相比其他模型速度稍快,而且准确度也稍好一点。同时作者还设计了大的ShuffleNetv2网络,相比ResNet结构,其效果照样具有竞争力。
从一定程度上说,ShuffleNetv2借鉴了DenseNet网络,把shortcut结构从Add换成了Concat,这实现了特征重用。但是不同于DenseNet,v2并不是密集地concat,而且concat之后有channel shuffle以混合特征,这或许是v2即快又好的一个重要原因。
二、EfficientNet V3
在论文中提到,本文提出的EfficientNet-B7在Imagenet top-1上达到了当年最高准确率84.3%,与之前准确率最高的GPipe相比,参数数量(Params)仅为其1/8.4,推理速度提升了6.1倍(看上去又快又轻量,但个人实际使用起来发现很吃显存)。下图是EfficientNet与其他网络的对比(注意,参数数量少并不意味推理速度就快)。
整体网络结构:
Part 2:代码练习
一、使用VGG模型进行猫狗大战
1.调用功能库
2.数据处理
3. 创建 VGG Model
torchvision中集成了很多在 ImageNet (120万张训练数据) 上预训练好的通用的CNN模型,可以直接下载使用,本次实验直接使用预训练好的 VGG 模型。
4.训练并测试全连接层
包括三个步骤:第1步,创建损失函数和优化器;第2步,训练模型;第3步,测试模型。
5.测试结果
二、AI艺术鉴赏挑战赛
1.数据处理
2.模型构建
直接使用pytorch中的efficientNet模型
3.训练和测试
问题:实验结果未运行出来,继续进行修改。