::: hljs-right DATE: April 18, 2024

:::

去除fer2013中标签为1的图片,并重新排列标签

# 加载原始数据集
trainset= datasets.FER2013(root='./data', train=True, download=True, transform=transform)

# 过滤掉标签为 1 的图像,并将后续标签向前移动一位
filtered_train_set = [(img, target - torch.tensor(target > 1, dtype=torch.long)) for img, target in trainset if target != 1]
"""
(target > 1) 是一个布尔张量,其中值为 True 表示原始标签大于 1,否则为 False。然后将布尔张量转换为长整型张量,将 True 转换为 1,将 False 转换为 0。

从原始标签 target 中减去了一个长整型张量,该长整型张量在原始标签大于 1 时为 1,在其他情况下为 0。这样就实现了将大于 1 的标签向前移动一位的效果,即原始标签 2 变为 1,原始标签 3 变为 2,以此类推,而标签 1 被丢弃。
来源:ChatGPT3.5
"""

我们选择Fer2013作为我们的数据集,原因如下:首先,Fer2013具有较大规模和多样性,有利于训练出泛化能力较强的模型;其次,CK+数据集虽然样本量相对较小,但提供了动态表情信息和较高的标注准确率,可以作为补充数据集,提高模型的表现。我们将结合这两个数据集进行神经网络的训练和评估。 https://blog.csdn.net/qq_32892383/article/details/136889114

人脸表情识别存在的遮挡、头部姿态变换、光照变换问题