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

测试模型遇到的问题 #42

Closed
tianboguangding opened this issue Mar 28, 2016 · 10 comments
Closed

测试模型遇到的问题 #42

tianboguangding opened this issue Mar 28, 2016 · 10 comments

Comments

@tianboguangding
Copy link

吴老师,您好:
先感谢您分享的网络模型!
当测试模型时遇到两个问题:

  1. 按照网络A_deploy,提取fc1层的特征应该是512维(按这个正确率是93.8%),但看保存特征的mat里,特征维数是256维,想问一下,您提取的是那一层特征?
    2.在测试网络B_deploy时,出现 :
    ...insert_splits.cpp:35] Unknown blob input label to layer 1 的错误,想问一下这个怎么解决?

十分感谢!

@AlfredXiangWu
Copy link
Owner

  1. 特征层对于A是eltwise6,对于B是eltwise_fc1
  2. 错误信息的字面意思,unknown blob input label to layer 1,你最好自己检查一下网络配置吧

@tianboguangding
Copy link
Author

多谢

训练测试集我是把它分成9:1,而没有把所有数据拿去训练,结果按这个训练出的模型,在lfw上正确率只有65.8%,原因是什么?(孙祎的五点定位,检测,再按照您的方式alignment,最后是144*144的灰度图片,样本准备过程应该没有什么问题,lr:0.001,weight_decay:0.005)

@AlfredXiangWu
Copy link
Owner

提取fc1 512维的特征是93.8%的准确率, 而变成eltwise6的256维就只有65.8%?

@tianboguangding
Copy link
Author

您的模型变成eltwise6的256维准确率是97.7%;65.8%是我自己按上边网络重新训练模型并在lfw的测试结果,不知道问题出在哪儿?

@AlfredXiangWu
Copy link
Owner

65.8%这个结果太低了,我这边网络的迭代4w次,validation只有30%~40%的时候在lfw也可以到90%左右。我觉得首先还是仔细检查下数据预处理吧,训练集和测试集预处理的方法是否一致,因为训练集裁出来的144x144的图像,测试集lfw应该是128x128的。另外看一下你网络在训练时的收敛状况,你这个65.8%结果的网络validation的准确率是多少呢?

@tianboguangding
Copy link
Author

hi,吴老师:
是的,预处理昨天我又重新做了一遍,先港中文的批处理一遍,之后训练集是按照您的说明裁剪的144X144灰度图,lfw也是128X128的灰度图
训练集是全部的img,val集是从中选取了三万多张,下面是训练的部分收敛情况:
......
I0331 12:59:07.620589 4824 solver.cpp:214] Iteration 230900, loss = 2.82966
I0331 12:59:07.621589 4824 solver.cpp:229] Train net output #0: accuracy = 0.515625
I0331 12:59:07.621589 4824 solver.cpp:486] Iteration 230900, lr = 0.001
I0331 13:00:46.470243 4824 solver.cpp:294] Iteration 231000, Testing net (#0)
I0331 13:01:48.563794 4824 solver.cpp:330] Test loss: 1.67944
I0331 13:01:48.564795 4824 solver.cpp:343] Test net output #0: accuracy = 0.7663
I0331 13:01:48.940816 4824 solver.cpp:214] Iteration 231000, loss = 3.35271
I0331 13:01:48.940816 4824 solver.cpp:229] Train net output #0: accuracy = 0.375
I0331 13:01:48.941817 4824 solver.cpp:486] Iteration 231000, lr = 0.001
I0331 13:03:28.806529 4824 solver.cpp:214] Iteration 231100, loss = 3.02206
I0331 13:03:28.806529 4824 solver.cpp:229] Train net output #0: accuracy = 0.4375
I0331 13:03:28.807528 4824 solver.cpp:486] Iteration 231100, lr = 0.001
I0331 13:05:08.690242 4824 solver.cpp:214] Iteration 231200, loss = 2.77543
I0331 13:05:08.691241 4824 solver.cpp:229] Train net output #0: accuracy = 0.484375
......
这个是不是不太正常?
而在lfw上的正确率还是很低。

@AlfredXiangWu
Copy link
Owner

我觉得你这个log变化很正常啊,然后你测试的时候lfw才只有65.8%? 你检查下你提特征的代码吧,提特征的时候图像像素要除255归一化到[0,1]

@tianboguangding
Copy link
Author

hi,吴老师:
用我提特征的代码载入您的model从而生成的lfw.mat,检测正确率是96.8%,所以感觉提特征代码好像没什么问题;但载入我自己训练好的模型不是生成lfw.mat失败(Cannot copy param 0 weights from layer 'conv1'; shape mismatch. Source param shape is 96 3 9 9 (23328); target param shape is 96 1 9 9 (7776). To learn this layer's parameters from scratch rather than copying from a saved net, rename the layer)就是生成了正确率很低(65.8%),而之前您也说我训练的log变化是正常的,那这个问题是出现在哪里呢?

@AlfredXiangWu
Copy link
Owner

Cannot copy param 0 weights from layer 'conv1'; shape mismatch. Source param shape is 96 3 9 9 (23328); target param shape is 96 1 9 9 (7776). To learn this layer's parameters from scratch rather than copying from a saved net, rename the layer

这个错误就是字面意思,彩色图像和灰度图像的问题。。。。
65.8%到底是什么问题我也不是特别确定,看log我觉得没问题。所以我还是觉得你提特征的部分有问题,尤其是你说你的代码有时候提取不成功,有时候提出来特征准确率是65.8%,这么不稳定的代码明显里面是存在bug的

@tianboguangding
Copy link
Author

Hi,吴老师:
sorry,是您说的彩色图像和灰度图像的问题。现在好了,迭代12万次时,lfw测试准确率有94%。
不好意思,谢谢了。

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

2 participants