Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

测试集为什么要用tencrop #31

Closed
jing199301 opened this issue Apr 4, 2019 · 8 comments
Closed

测试集为什么要用tencrop #31

jing199301 opened this issue Apr 4, 2019 · 8 comments

Comments

@jing199301
Copy link

想问一下作者,为什么testset要进行transforms.tencrop(cut_size)?
这样一来,每次测试所使用的图片不就不一样了吗?测试集不应该是每一次都一样吗?
我有点疑惑,希望能得到您的答复。谢谢!

@WuJie1010
Copy link
Owner

测试集的图片是给定的,tencrop也只是在给定的图片切成10各分类来做预测。最后用十份的结果去做一个平均值,相当于集成学习的方法去选出最适合的分类。

@jing199301
Copy link
Author

谢谢您的回复~还有一个小问题,就是您这里面的CK+48文件夹里面是已经裁切好的人脸图像,并且分辨率是4848。但是如果我想使用分辨率更高的输入图像(比如224224),您方不方便分享给我,您的图像预处理的代码(从最原始的CK+图片进行人脸检测,然后确定裁切范围,最后得到跟您的图片同样大小人脸的高分率图)?

@WuJie1010
Copy link
Owner

当时拿到数据的时候,分辨率就是48*48,我这边没有对应的裁剪代码。

@jing199301
Copy link
Author

谢谢您的回复~! 我发现针对CK+数据训练的时候,进行多次实验,每次最高的准确率偏差能有好多个百分点(有时候最高是96%,有时候最高是90%)。这种现象是正常的吗?有没有办法能够避免这种大方差的情况?

@WuJie1010
Copy link
Owner

我这边也会出现这样的现象,主要是因为CK+数据集较小+交叉验证的缘故。

@yangyuke001
Copy link

在plot_CK+_confusion_matrix.py时,我设置cut_size=32时所有的表情都预测为disgust(结果是77的混淆矩阵),设置cut-size=44时会出现多出来三行三列也就是1010(本来7分类应该是7*7的混淆矩阵),另外又改变cut_size都会出现不同的结果,我是用自己训练的shufllenetv2模型测试的,训练集的class_names = ['Angry', 'Disgust', 'Fear', 'Happy', 'Sad', 'Surprise', 'Contempt'],按照文中修改的。希望作者能答疑,不胜感激。

@WuJie1010
Copy link
Owner

可能是您的代码设置的问题?我这边不同的cut_size得到的混淆矩阵的size是相同的。另,训练时设置的cut_size在测试时候需要保持同等的大小。

@yangyuke001
Copy link

@WuJie1010 多谢回复,我训练时的transforms.Compose()和您这边不一样, 我是如下形式训练:transform=transforms.Compose(
[transforms.Resize(32),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406],[0.229, 0.224, 0.225])])

我现在打算跟您的保持一致再训练试下。thx again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants