1 模型选择
1.1 回归任务
1.1.1 人脸关键点检测
完整代码详见基于空间注意力SAM的GoogLeNet实现人脸关键点检测并自动添加表情贴纸
68点的人脸关键点检测:
![](https://i-blog.csdnimg.cn/blog_migrate/0933bdce12e4571b6167f81b9554d59b.jpeg)
- 1-17:人脸的下轮廓
- 18-27:眉毛
- 28-36: 鼻子
- 37-48:眼睛
- 49-68:嘴巴点检测
1.2 分类任务
CIFAR-10数据集也是分类任务中一个非常经典的数据集,在科研中,常常使用CIFAR数据集评估算法的性能。
1.2.1 图像分类
基于CIFAR-10数据集实现图像10分类。项目完整代码详见:从论文到代码深入解析带有门控单元的gMLP算法
gMLP中,最核心的部分就是空间选通单元(Spatial Gating Unit,SGU),它的结构如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/824d4ae35a36a95e81ed3c04d9318b23.png)
1.3 场景任务
这里说的场景任务是针对某一个特定的场景开发的深度学习任务,相比于回归和分类任务来说,场景任务的难度更高。这里说的场景任务包括但不限于目标检测、图像分割、文本生成、语音合成、强化学习等。
2 模型训练
2.1 基于高层API训练模型
import paddle
# 使用paddle.Model完成模型的封装
model = paddle.Model(Net)
# 为模型训练做准备,设置优化器,损失函数和精度计算方式
model.prepare(optimizer=paddle.optimizer.Adam(parameters=model.parameters()),
loss=paddle.nn.CrossEntropyLoss(),
metrics=paddle.metric.Accuracy())
# 调用fit()接口来启动训练过程
model.fit(train_dataset,
epochs=1,
batch_size=64,
verbose=1)